【问题标题】:"no known features for CXX compiler" when compiling with MSVC++ 2013使用 MSVC++ 2013 编译时出现“CXX 编译器没有已知功能”
【发布时间】:2015-01-23 22:09:35
【问题描述】:

我有一个相对简单的CMakeLists.txt,其中包含以下几行:

target_compile_features(myapp PRIVATE
    cxx_generalized_initializers
    cxx_lambdas
    cxx_nullptr)

当我在安装了 MSVC++ 2013 Express 的 Windows 2012 服务器上运行 cmake 时,我收到以下错误:

CMake Error at CMakeLists.txt:61 (target_compile_features):
  target_compile_features no known features for CXX compiler

  "MSVC"

  version 18.0.30723.0.

是什么导致了这个错误,我该怎么办?当我在 Ubuntu 14.10 中使用 GCC 构建项目时,CMake 似乎没有任何问题。

我正在使用 CMake 3.1.0,以防万一(这是第一个支持 target_compile_features 的 CMake 版本)。

【问题讨论】:

    标签: cmake visual-studio-express visual-c++-2013


    【解决方案1】:

    CMake 3.1.0 仅支持 GCC 4.7+(在 UNIX 上但不支持 APPLE)和 Clang(但不支持 AppleClang)3.4+ 的“编译功能”。

    CMake 3.2.0 将支持 GCC 4.4+(在 UNIX 上,包括 APPLE)、AppleClang 4.0+(Xcode 4.4+)、SolarisStudio 12.4 和 MSVC 2010+。

    其他编译器的补丁和维护可以发送到 cmake 邮件列表。

    如果您使用的是APPLE,请确保CMP0025NEW

    https://cmake.org/cmake/help/v3.6/command/cmake_policy.html

    【讨论】:

    • 谢谢!我看到 CMake 3.2 计划在 2 月 1 日发布,所以看起来我需要等待很长时间。
    • 我在使用 CMake 3.3.0 和 AppleClang 6.1.0 时遇到此错误。
    • 似乎是 CMake 3.3.0 中的一个错误。适用于 CMake 3.3.1。
    • 似乎也是3.7.1中的一个bug
    • @Dynite 嗨,关于 3.7.1 中的错误的更多信息?确认了吗?
    猜你喜欢
    • 1970-01-01
    • 2014-01-05
    • 2015-08-25
    • 2016-03-04
    • 2017-02-06
    • 2022-07-12
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    相关资源
    最近更新 更多