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

+0

Когда VS2010 был выпущено, даже название C++ 11 не было известно. VS2010 знает только C++ 0x. Таким образом, некоторые функции стандарта C++ 11 поддерживаются (например, lambdas), другие - нет (например, потоки). Во всяком случае: я бы УГАДАЛ, что CXX11 - это пользовательское определение в make-файлах. Как говорится, эти флаги отсутствуют, вы можете установить их при вызове make-файла. Если бы это было невозможно, чтобы скомпилировать его с VS2010, разработчики, вероятно, проверили бы общий компилятор во время make, а не только на функции. Найдите файлы .mk и найдите определение, возможно, это поможет. – MattW

ответ

2

Проблема заключается в модуле FindCXX11. Это нормальное (ish)/регулярное сообщение об ошибке из модуля find. Совместимость «C++ 11» - это красная селедка.

Отправьте файл FindCXX11.cmake или просто не используйте его в Windows/MSVC.

+1

Yeh Я нашел это, я просто прокомментировал это в главном cmakelist, #find_package (CXX11 REQUIRED) #set (CMAKE_CXX_FLAGS "$ {CXX11_FLAGS} $ {CMAKE_CXX_FLAGS}") – rams6

Смежные вопросы