Я просто следовал ответу на этот вопрос обновить мою gcc версию к 4,8. 1 на Ubuntu 12.04, которая я думал, будет поддерживать C++ 11. Однако это не кажется.
Когда я пытаюсь скомпилировать что-то с -std=c++11
флаг, я получаю эту ошибку:
cc1plus: error: unrecognized command line option ‘-std=c++11’
Моя gcc версия - это:
gcc version 4.8.1 (Ubuntu 4.8.1-2ubuntu1~12.04)
Мой g ++ версия является этим:
$ g++ -v
....
gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
Что я мог пропускать?
Править: Я пропускал это, я должен был обновить g ++
Это легко достигается с маленькой модификацией к коду, предоставленному в вышеупомянутом ответе. Просто изменение gcc
кому: g++
.
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install g++-4.8
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50
Вы обновили компилятор C, но не компилятор C++. Они - отдельные двоичные пакеты. Необходимо также установить g++-4.8
пакет для получения новой версии компилятора C++.