2014-11-08 113 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