gpt4 book ai didi

delphi - 为什么 RAD Studio Seattle 10 安装 Windows 10 SDK? (它可以与较新的 SDK 一起使用吗?)

转载 作者:行者123 更新时间:2023-12-03 15:08:54 27 4
gpt4 key购买 nike

在 C++Builder Seattle 10 Update 1 安装结束时,Embarcadero 的主安装程序会启动一个名为 Microsoft Windows 10 SDK Installer 的附加嵌入式安装程序。这就是它的样子,以防您忘记:

enter image description here

然后,此安装程序开始安装原始 RTM Windows 10 SDK,如下所示:

enter image description here

为什么 C++Builder 要安装这个? C++Builder 如何与 SDK 链接 - 它到底使用什么?如果我安装较新的 Windows SDK(例如 2015 年 11 月发布的 SDK),它会起作用吗? (很难想象如何实现,因为 IDE 中的所有设置都使用 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 打开它您会发现这是一个非常简单的安装程序,它将一些蓝牙头文件安装到 Embarcadero include 中目录。
    • OFFLINE目录:包含 MSI 显然使用的 8 个不同的 Windows SDK 头文件:BluetoothAPIs.h , bluetoothleapis.h , bthdef.h , bthledef.h , bthsdpdef.h , no_sal2.h , winapifamily.h , ws2bth.h .

此外,这个单独的安装程序似乎与主 RAD Studio 安装程序冲突。主安装程序还安装这些相同的头文件。然后运行该安装程序并替换这些文件。然后,由于某种未知原因,它启动了官方 Microsoft Windows 10 SDK 安装程序。如果卸载 Embarcadero SDK 安装程序包,它会完全删除这 8 个头文件(因此会产生冲突)。

所以:(1) 他们为什么不在主安装中包含这 8 个头文件 - 这一切的意义是什么,(2) 他们为什么启动官方 Microsoft Windows 10 SDK 安装程序,(3)是否有一些我不知道的集成?

官方文档几乎没用:Installation Notes: Installing the Windows 10 SDK .

The installation wizard of RAD Studio Seattle allows you to install the Microsoft Windows 10 SDK, which adds headers for the Windows API.

Note: The Windows 10 SDK is only a requisite for C++Builder in order to support direct calls to the Bluetooth and the BluetoothLE Windows APIs.

但是 Microsoft 的 SDK 安装程序不会将 header 放入 Embarcadero include目录。事实上,Embarcadero 通过将文件捆绑在自己的安装程序中来实现此目的,如上所示。

最佳答案

安装Windows 10 SDK只是Embarcadero满足了微软的一项要求。它对您的 RAD Studio 安装没有影响。换句话说:如果您取消该设置,您不会造成任何伤害。

关于delphi - 为什么 RAD Studio Seattle 10 安装 Windows 10 SDK? (它可以与较新的 SDK 一起使用吗?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36046678/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com