На станции Red Hat Linux, я использую devtoolset2 давая следующую команду:nullptr непризнанным с GCC 4.8
scl enable devtoolset-2 bash
Затем, когда я называю Gcc --version, я получаю:
gcc (GCC) 4.8.2 20140120 (Red Hat 4.8.2-15) Copyright (C) 2013 Free Software Foundation, Inc.
Но если я скомпилировать свою программу (malkefile генерироваться с CMake, добавив строку:
if(UNIX)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++11")
endif()
У меня есть следующее сообщение об ошибке:
cc1plus: error: unrecognized command line option "-std=c++11"
И если я компилирую замена -std = C++ 11 по -std = C++ 0x тогда, я получаю эти сообщения:
nullptr wasnt declared in this scope.
Как nullptr не может быть распознан, учитывая, что это ключевое слово?
Я не понимаю, если у вас есть какие-либо идеи ...
согласно [this] (https://gcc.gnu.org/projects/cxx0x.html) 'nullptr' поддерживается с версии 4.6 – NathanOliver
' cc1plus: ошибка: непризнанная опция командной строки "-std = C++ 11 "' <- cc1plus is not g ++ – C0deH4cker
Вы уверены, что cmake использует правильную версию gcc? – interjay