1

Вот вывод из моего поиска 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 ответа2

2

Вы должны использовать gcc-config . Это в основном версия eselect для gcc. Следуйте инструкциям по обновлению gentoo gcc здесь:

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

0

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. Попробуйте обновить ваш компилятор до последней версии.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .