在C++Builder Seattle 10 Update 1安装完成后,Embarcadero的主安装程序会启动一个额外的嵌入式安装程序,名为Microsoft Windows 10 SDK Installer。如果您忘记了它的样子,可以看下面的图片:
这个安装程序然后开始按照以下步骤安装原版的RTM Windows 10 SDK:
为什么C++Builder会安装这个?C++Builder如何与SDK链接,它到底使用了什么?如果我安装一个更新的Windows SDK(例如2015年11月发布的SDK),它会工作吗?很难想象,因为IDE中的所有设置都是使用来自
所以:(1)为什么他们没有在主安装中包含这8个头文件-这一切的意义是什么,(2)为什么他们要启动官方的Microsoft Windows 10 SDK安装程序,(3)是否有我不知道的某种集成?
官方文档几乎没用:安装说明:安装Windows 10 SDK。
C:\Program Files (x86)\Embarcadero\Studio\17.0\include\windows\sdk
的文件,而这些文件包括Embarcadero对SDK所做的更改,例如特殊的bcc32 pragma
语句。
我已经分析了RAD Studio的安装文件,试图找出其中的原因,但我没有一个好的答案来解释他们为什么这样做:
- 在您的RAD Studio ISO上,使用7-Zip查看“\Install\Setup.exe”。
- 有一个
setup.res
文件; 也在7-Zip中打开它。 - 在
setup.res
内,您将找到第一张截图中看到的MSSDKInstall.exe
。在7-Zip中打开它。 - 然后,您会看到几个文件:
MSSDKInstall.msi
:如果您使用Orca打开此文件,您将看到这是一个非常简单的安装程序,它将一些蓝牙头文件安装到Embarcaderoinclude
目录中。OFFLINE
目录:包含8个不同的Windows SDK头文件,显然由MSI使用:BluetoothAPIs.h
、bluetoothleapis.h
、bthdef.h
、bthledef.h
、bthsdpdef.h
、no_sal2.h
、winapifamily.h
、ws2bth.h
。
所以:(1)为什么他们没有在主安装中包含这8个头文件-这一切的意义是什么,(2)为什么他们要启动官方的Microsoft Windows 10 SDK安装程序,(3)是否有我不知道的某种集成?
官方文档几乎没用:安装说明:安装Windows 10 SDK。
但是微软的SDK安装程序并没有将头文件放入Embarcadero的RAD Studio Seattle的安装向导允许您安装Microsoft Windows 10 SDK,该SDK添加了用于Windows API的头文件。
注意:Windows 10 SDK仅对C++Builder是必需的,以支持对蓝牙和蓝牙LE Windows API的直接调用。
include
目录中。实际上,正是Embarcadero通过在他们自己的安装程序中捆绑这些文件来完成这个过程,正如上面所证明的那样。