【发布时间】:2017-11-14 15:12:19
【问题描述】:
我正在使用 Visual Studio 2017 以标准 C++ 开发控制台应用程序。安装 VS2017 时,我可以同时安装 Win 8.1 SDK 和 Win 10 SDK。 VS2017 似乎默认提供 Win 10 SDK,但我不断遇到配置为使用 Win 8.1 SDK 的项目(例如,MPIR 或在以前版本的 VS 中创建的项目)。因此,我想知道:
- 哪个 SDK 更适合用于标准 C 和 C++?
- 能否安全地将使用不同版本 Windows SDK 的库链接在一起?例如,我可以针对 Win 8.1 SDK 编译 MPIR 并在使用 Win 10 SDK 的应用程序中调用它吗?
【问题讨论】:
-
如果您使用标准 C++ 开发控制台应用程序,则根本不需要或关心已安装的 Windows SDK,因为您从不使用它。
-
@VTT 这是有道理的。除非我不安装 8.1 SDK,否则我无法编译在项目设置中引用它的项目。编译器会抱怨缺少一些头文件。这是一个虚假的依赖项(编译器的怪癖并不重要)吗?
-
这是因为 Visual C++ 与 Windows SDK 紧密捆绑在一起。但只要你不直接使用它,你就不应该真正关心版本。您实际上可以安装一些第三方编译器并使用它来代替 Visual C++。
标签: c++ visual-studio