"no known features for CXX compiler" 使用 MSVC++ 2013 编译时

"no known features for CXX compiler" when compiling with MSVC++ 2013

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

target_compile_features(myapp PRIVATE
    cxx_generalized_initializers
    cxx_lambdas
    cxx_nullptr)

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

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 版本)。

CMake 3.1.0 仅支持 'compile features' 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 邮件列表。

确保 CMP0025NEW 如果你在 APPLE.

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