Рабочая версия 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 здесь:

http://www.gentoo.org/doc/en/gcc-upgrading.xml

emerg основан на Python и читает стандартные файлы .ebuild, расположенные в / usr / portage. Файлы ebuild описывают, как источник должен быть настроен и установлен, в зависимости от переменных, установленных в /etc/make.conf.

Возможно, в новой версии GCC файл .ebuild не обновляется. и вы видите неправильную версию.

GCC 4.5, который у вас есть, не поддерживает следующие параметры:

  1. Rvalue ссылки для * этого
  2. Инициализаторы нестатических элементов данных
  3. Псевдонимы шаблона
  4. Константа нулевого указателя
  5. Форвардные декларации для перечислений
  6. Обобщенные атрибуты
  7. Обобщенные константные выражения
  8. Поддержка выравнивания
  9. Делегирующие конструкторы
  10. Наследование конструкторов
  11. Расширенные объявления друзей и многое другое ...

GCC 4.8 полностью поддерживает C++ 11. Попробуйте обновить ваш компилятор до последней версии.

Другие вопросы по тегам