CMake 如何为 Visual Studio 2015 项目指定“平台工具集”?
Posted
技术标签:
【中文标题】CMake 如何为 Visual Studio 2015 项目指定“平台工具集”?【英文标题】:How does CMake specify "Platform Toolset" for a Visual Studio 2015 project? 【发布时间】:2016-02-22 08:42:56 【问题描述】:有一个由 CMake 生成的 VS2015 项目,我想更改其“平台工具集”。
我已经尝试了这些解决方案,但它不起作用:
set (CMAKE_VS_PLATFORM_TOOLSET "v120")
cmake -T "v120"
有人可以帮忙吗?谢谢。
【问题讨论】:
【参考方案1】:首先:如果您已经生成了项目,请删除 CMakeCache.txt。下次运行 cmake:
cmake -G "Visual Studio 14" -T v120
当您需要更改生成器(工具集是其中的一部分)时,您应该删除 CMakeCache.txt 文件。
【讨论】:
@P.X,如果对您有帮助,请点击答案附近的勾号接受答案【参考方案2】:使用CMAKE_GENERATOR_TOOLSET
比使用-T
选项更好。
重新生成 CMake 时无需删除 CMakeCache.txt 文件。
例如
cmake -G "Visual Studio 16" -A Win32 -DCMAKE_GENERATOR_TOOLSET=v140
【讨论】:
为什么CMAKE_GENERATOR_TOOLSET
比-T
更好?他们做不同的事情,还是说使用全名更容易阅读/维护构建脚本?【参考方案3】:
对于发现此问题的任何人,解决方案是使用 CMAKE_SYSTEM_VERSION。
例如。
cmake -DCMAKE_SYSTEM_VERSION=8.1 .
【讨论】:
我不认为这是正确的。CMAKE_SYSTEM_VERSION
用于设置 CMake 主机系统版本(即操作系统版本),不是目标平台工具集版本。
您似乎将 CMAKE_SYSTEM_VERSION 与 CMAKE_HOST_SYSTEM_VERSION 混淆了。 cmake.org/cmake/help/v3.18/variable/CMAKE_SYSTEM_VERSION.html "要构建 CMake 的操作系统版本" cmake.org/cmake/help/v3.18/variable/… "运行 CMake 的操作系统版本。"以上是关于CMake 如何为 Visual Studio 2015 项目指定“平台工具集”?的主要内容,如果未能解决你的问题,请参考以下文章
如何为 Visual Studio Express 2013 桌面项目创建安装程序
如何为 Visual Studio 2010 安装 NLog?
如何为visual studio更改ctrl + space