使用平台工具集“Visual Studio 2012 (v110)”在 VS2012 中构建的程序可以在 Windows Server 2003/2008 上运行吗?
我热衷于利用所有新的 C++11 优点,但需要针对运行 VS2008 的机器。
如果默认情况下它不会运行,我应该进行哪些配置更改才能以该平台为目标并仍然受益于所有编译器的新功能?
使用平台工具集“Visual Studio 2012 (v110)”在 VS2012 中构建的程序可以在 Windows Server 2003/2008 上运行吗?
我热衷于利用所有新的 C++11 优点,但需要针对运行 VS2008 的机器。
如果默认情况下它不会运行,我应该进行哪些配置更改才能以该平台为目标并仍然受益于所有编译器的新功能?
我已经对此进行了测试,可以回答是,只要路径上有 VC++11 可重新分发的 DLL,即msvcp110.dll、msvcr110.dll等,它们就会运行。
要在 Windows Server 2003 上运行 VS2012 编译的 C++ 应用程序,您应该使用 Visuasl Studio 2012 Update 1 中包含的“v110_xp”平台工具集。根据MSDN:
包含在 Visual Studio 2012 Update 1 中的 Visual Studio 2012 - Windows XP (v110_xp) 平台工具集是包含在 Visual Studio 2010 中的 Windows 7 SDK 的一个版本,但它使用 Visual Studio 2012 C++ 编译器。它还将项目属性配置为适当的默认值——例如,用于下层目标的兼容链接器规范。只有使用 vs110_xp 工具集创建的应用程序支持 Windows XP 和 Windows Server 2003,但这些应用程序也可以支持 Windows Vista、Windows 7、Windows Server 2008、Windows 8 和 Windows Server 2012。