windows - SDK windows丛林

标签 windows visual-studio visual-studio-2008 sdk

我对所有这些 SDK Windows 版本有点迷茫。

例如,我在 windows8.1 上安装了 vs2013,我(还)需要将我的应用程序链接到 vs2008 运行时(平台工具集)。

我应该安装整个 VS2008 还是只安装 API。在最后一种情况下,我必须安装什么 SDK?

最佳答案

你在谈论两个截然不同的事情。 Windows SDK 仅涵盖进行 winapi 调用所需的声明和库。 SDK v8.1 适用于自 Vista 以来的任何现代 Windows 版本,您可以通过设置 _WIN32_WINNT 宏来选择要定位的 Windows 版本。请注意,XP 需要较旧的 SDK 版本,v7.1 是最后一个仍然适用的版本,您可以通过将平台工具集设置为 v120_xp 来选择它。

运行时库是 Visual Studio C/C++ 项目的纯实现细节,与 SDK 完全无关。当您使用/MD 编译选项在 VS2013 上构建此类程序时,它将依赖于 msvcr120.dll,可能是 msvcp120.dll 和其他。这些 DLL 实现了 C 运行时库和 C++ 标准类。如果您使用这些库,可能还有 MFC、ATL、OpenMP 和 AMP。

如果您仍然依赖于这些库的 VS2008 版本,那么您可能会遇到一个非常大的问题。您可以从可从 Microsoft 下载的 redist 安装程序中获取这些 DLL 的发行版本。依赖于调试版本需要在您的机器上安装 VS2008。但是,由于新的 C++11 语言标准,VS2008 和 VS2013 之间的运行时库发生了很大变化,因此在运行时链接程序和苦难时遇到了麻烦。在一个程序中使用多个 CRT 通常会造成很多麻烦。

您需要大力追求重建仍然具有 VS2008 依赖项的库。如有必要,请联系图书馆的所有者以获取更新。

关于windows - SDK windows丛林,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19465019/

相关文章:

c++ - 从 Linux 到 Windows 交叉编译 C++ 应用程序的手册?

ASP.NET 控件不会出现在代码隐藏 IntelliSense 中

c# - 添加/删除 dll 引用 c#

windows - Windows 上的 git svn rebase 问题

C++ 如何检测 Windows 10

windows - 为什么 "Set-Item"在 Windows 7 PowerShell 上不起作用?

c# - Git pull 请求中显示的未更改文件

visual-studio - 在 Visual Studio 2012 中构建之前保存所有文件?

c++ - 强制 Visual Studio 进入 STL 类/函数

c# - 如何使用 Visual Studio 2008 部署 asp.net 应用程序