【问题标题】:How to set MSVC Target Platform Version with CMake?如何使用 CMake 设置 MSVC 目标平台版本?
【发布时间】:2018-01-23 08:18:00
【问题描述】:

我正在寻找方法来设置使用CMake 生成的MSVC 项目的目标平台版本。我在 CMake 问题跟踪器中找到了以下ticket,该跟踪器现已关闭。我使用的是最新的 3.9.1 版本的 CMake。但是那里描述的解决方案似乎不起作用。我试过了

set (CMAKE_SYSTEM_VERSION 8.1)

在我的CMakeLists.txt.

使用CMake时如何设置Terget平台版本

后记:

现在我检查了在生成解决方案时从命令行设置 CMAKE_SYSTEM_VERSION 是否有效,但如果可能的话,我希望能够从 CMakeLists.txt 文件中设置它。

cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_SYSTEM_VERSION=8.1 ..\source\

至少能够从 CMake GUI 进行设置会很好。

【问题讨论】:

  • 看看 CMake 的 -T 命令行选项。 (例如-T v120-T v141)。请参阅此答案以获取更多信息stackoverflow.com/questions/35549164/…
  • 没关系,我把目标平台版本和目标平台工具集搞混了。
  • 您可以在 GUI 中进行设置。您只需单击“添加条目”按钮。请注意,必须输入完整版本字符串,例如出现在 VS 的“Windows SDK 版本”属性页中。对我来说,使用:CMAKE_SYSTEM_VERSION = 10.0.17763.0
  • 必须在点击“配置”之前添加此条目。

标签: c++ visual-c++ cmake


【解决方案1】:

在第一次使用project 之前使用set (CMAKE_SYSTEM_VERSION 8.1 CACHE TYPE INTERNAL FORCE) 可以解决问题。

【讨论】:

  • 请注意,它必须在您的 top-level CMakeLists.txt 的第一个 project 之前,因为它需要在生成时全局设置(很明显,但我错过了)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-06
  • 1970-01-01
  • 2020-07-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多