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 扩展 - 如何为代码着色?

如何为 Visual Studio 2010 安装 NLog?

如何为visual studio更改ctrl + space

如何为 Visual Studio 构建工具 cl.exe 编写 makefile(nmake)

如何为 Visual Studio 命令提示符创建批处理文件