"没有CXX编译器的已知功能"在使用MSVC ++ 2013进行编译时

时间:2015-01-23 22:09:36

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

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

target_compile_features(myapp PRIVATE
    cxx_generalized_initializers
    cxx_lambdas
    cxx_nullptr)

当我在安装了MSVC ++ 2013 Express的Windows 2012 Server上运行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.

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

我正在使用CMake 3.1.0,如果有帮助(这是第一个支持target_compile_features的CMake版本。)

1 个答案:

答案 0 :(得分:4)

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邮件列表。

如果您在CMP0025,请确保NEWAPPLE

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