2014-11-08 228 views
2

好吧,我已经搜索过,我知道VS2010有点过时,但这就是我现在所拥有的。cmake错误'找不到CXX11'VS 2010?

所以我认为VS2010不符合C++ 11,因为我认为cmake中的这个错误是抱怨,这里是错误。我正在尝试构建一个小型游戏引擎。

CMake Error at C:/Program Files/CMake/share/cmake-3.0/Modules/FindPackageHandleStandardArgs.cmake:136 (message): 
    Could NOT find CXX11 (missing: CXX11_FLAGS) 
Call Stack (most recent call first): 
    C:/Program Files/CMake/share/cmake-3.0/Modules/FindPackageHandleStandardArgs.cmake:343 (_FPHSA_FAILURE_MESSAGE) 
    cmake/FindCXX11.cmake:60 (find_package_handle_standard_args) 
    CMakeLists.txt:13 (find_package) 
+1

我没有看到一个问题,但我想你想编译,所以只需使用另一个支持C++ 11的编译器,无论是gcc,visual studio 2013 express,clang或其他任何有 – PeterT 2014-11-08 13:33:30

+0

当VS2010是发布,甚至没有名称C++ 11是众所周知的。 VS2010只知道C++ 0x。因此,支持C++ 11标准的某些功能(例如lambda表达式),其他功能则不支持(例如线程)。无论如何:我会GUESS,CXX11是makefile中的自定义定义。正如它声明的那样,标志丢失了,你可以在调用makefile的时候设置它们。如果不可能,使用VS2010进行编译,开发人员可能会在编译期间检查通用编译器,而不仅仅是功能。搜索.mk文件并查找定义,也许这将有所帮助。 – MattW 2014-11-08 13:56:32

回答

2

问题是FindCXX11模块。这是来自查找模块的正常(ish)/常规错误消息。 'C++ 11兼容性'是一种红鲱鱼。

发布FindCXX11.cmake文件,或者不要在Windows/MSVC上使用它。

+1

我发现,我刚刚在主cmakelist,#find_package(CXX11 REQUIRED) #set(CMAKE_CXX_FLAGS“$ {CXX11_FLAGS} $ {CMAKE_CXX_FLAGS}”)中评论了这一点。 – rams6 2014-11-09 08:51:15