随着 Visual Studio 2012 Update 1 的发布,我希望构建一个 C++ 项目来支持 Windows XP。有没有办法使用 CMake 生成针对 Windows XP 的项目?基本上,CMake 需要生成一个使用 Platform Toolset = Visual Studio 2012 - Windows XP (v110_xp) 的项目文件。
4 回答
根据http://www.cmake.org/Bug/view.php?id=10722答案现在(很快)是的。
已在 CMake 2.8.11 版本中修复
此处添加了一个新的“生成器工具集”功能:
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7dab9977 [^]
现在可以从命令行运行 CMake
-G“Visual Studio 10”-T“v90”
为了使用特定的工具集进行构建。我们还没有为此添加到 cmake-gui 的一流接口,但可以在配置之前添加缓存条目“CMAKE_GENERATOR_TOOLSET”以包含“-T”值。
根据http://www.cmake.org/Bug/view.php?id=10722答案是否定的。
更新:上面提到的错误已通过以下评论解决:
已在 CMake 2.8.11 版本中修复
此处添加了一个新的“生成器工具集”功能:
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7dab9977 [^]
现在可以从命令行运行 CMake
-G“Visual Studio 10”-T“v90”
为了使用特定的工具集进行构建。我们还没有为此添加到 cmake-gui 的一流接口,但可以在配置之前添加缓存条目“CMAKE_GENERATOR_TOOLSET”以包含“-T”值。
您还可以查看对其他答案的评论。
我认为您可以为 Visual Studio 2010/2012 生成一个解决方案。打开此解决方案,在 Visual Studio 中打开解决方案/项目,打开属性并将平台工具集重新配置为 v110_xp。
那你应该没事。但我仍在寻找解决方案如何设置命令行来构建 v110_xp 程序......
我认为解决此问题的最佳方法是使用 CMake 为 Visual Studio 2010 构建项目,然后使用 Visual Studio 2012 打开项目。这样做时,使用的工具集将是适用于 WinXP 的 vs2010。