Рабочая версия GCC не соответствует появившейся версии
Вот вывод из моего поиска portage для gcc:
emerge -s gcc
...
* sys-devel/gcc
Latest version available: 4.6.3
Latest version installed: 4.6.3
Size of files: 70,353 kB
Homepage: http://gcc.gnu.org/
Description: The GNU Compiler Collection
License: GPL-3+ LGPL-3+ || ( GPL-3+ libgcc libstdc++ gcc-runtime-library-exception-3.1 ) FDL-1.3+
...
Тем не менее, когда я делаю gcc --version
Я получаю это:
gcc (Gentoo 4.5.4 p1.0, pie-0.4.7) 4.5.4
Есть идеи? Мне нужно использовать C++11 для проекта, который я пытаюсь скомпилировать, но я понятия не имею, что делать. Заранее спасибо!!
2 ответа
Вы должны использовать gcc-config
, Это в основном версия eselect для gcc. Следуйте инструкциям по обновлению gentoo gcc здесь:
emerg основан на Python и читает стандартные файлы .ebuild, расположенные в / usr / portage. Файлы ebuild описывают, как источник должен быть настроен и установлен, в зависимости от переменных, установленных в /etc/make.conf.
Возможно, в новой версии GCC файл .ebuild не обновляется. и вы видите неправильную версию.
GCC 4.5, который у вас есть, не поддерживает следующие параметры:
- Rvalue ссылки для * этого
- Инициализаторы нестатических элементов данных
- Псевдонимы шаблона
- Константа нулевого указателя
- Форвардные декларации для перечислений
- Обобщенные атрибуты
- Обобщенные константные выражения
- Поддержка выравнивания
- Делегирующие конструкторы
- Наследование конструкторов
- Расширенные объявления друзей и многое другое ...
GCC 4.8 полностью поддерживает C++ 11. Попробуйте обновить ваш компилятор до последней версии.