Как установить g ++ 4.7.2 и C++ 11 на CentOS 5.x?

date --date '@1005454800' дает Вам Sun Nov 11 00:00:00 EST 2001, который является спустя 1005454800 секунд после эпохи Unix. Можно отформатировать это с датой +FORMAT опция.

8
04.02.2013, 02:11
3 ответа

Из этого ответа для "Установки gcc 4.7 на CentOS [6.x]", самый легкий способ добраться g++ 4.7, и необходимые инструменты и библиотеки, для CentOS 5.x через devtools пакет:

cd /etc/yum.repos.d
wget http://people.centos.org/tru/devtools/devtools.repo 
yum --enablerepo=testing-devtools-6 install devtoolset-1.0

Так как Вы работаете g++ вручную (в противоположность через make), необходимо будет обновить Ваш $PATH переменная так Ваша оболочка будет использовать новое gcc, g++, и т.д. двоичные файлы:

export PATH=/opt/centos/devtoolset-1.0/root/usr/bin/:$PATH

На данном этапе Ваш g++ должна быть версия 4.7.0

$ g++ --version
g++ (GCC) 4.7.0 20120507 (Red Hat 4.7.0-5)
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Знайте та установка gcc и связанные инструменты и библиотеки этим способом полагаются на специалиста по обслуживанию репозитория, чтобы усовершенствовать их пакеты.

Если Вы интересуетесь хранением Вашего gcc актуальный, можно хотеть рассмотреть здание gcc из источника.

Кроме того, компилируя программы с другой версией g++ и libstdc++ чем установлены в Вашей системе, может вызвать все виды Забавы, справившись, который выходит за рамки этого ответа. Это может стоить переместить в дистрибутив Linux, который имеет поддержку того, что Вы делаете.

9
27.01.2020, 20:11
  • 1
    я обновил инструкции - пакет, который Вы хотите yum устанавливать devtoolset-1.0, поскольку это содержит другие необходимые средства разработки; и Вы захотите обновить Ваш $PATH переменная, так как Вы запускаетесь g++ из командной строки. –  Reed Kraft-Murphy 04.02.2013, 02:04
  • 2
    Когда я создаю новую консоль, gcc находится все еще на старой версии. Как я делаю новую версию значением по умолчанию? –  B T 07.10.2015, 23:05
  • 3
    Для установки этого постоянно необходимо добавить export PATH.. строка в Вашем ~/.profile или ~./profile_bash или эквивалентный: superuser.com/questions/809250 / … –  B T 07.10.2015, 23:14
  • 4
    Все еще шоу "g ++ (GCC) 4.1.2" после этого Гигабита :-( –  IllidanS4 wants Monica back 15.02.2017, 13:10

Диспетчеры пакетов являются большими, но (понятно) не будут обычно включать последнюю версию программного обеспечения. Причем CentOS является распределением, особенно фокусирующимся на серверах, устойчивость пользы (и обширное тестирование) по наличию последнего и самого солнечного. Вот Ваши решения:

Дистрибутив изменения

Другие дистрибутивы как Дуга Linux, Sabayon Linux или Debian "Sid" включают новейшие версии намного быстрее. Можно рассмотреть изменяющиеся дистрибутивы.

Создайте его сами

Если Вы застреваете с CentOS, Ваш лучший выбор состоит в том, чтобы создать gcc из источника. Это означает получать исходный код, удостоверяясь, что зависимости уже присутствуют в Вашей системе (в противном случае, я уверен, что можно получить их от диспетчера пакетов CentOS), компилируя источник в двоичный исполняемый файл, и устанавливая исполняемый файл в системе.

Это не самый легкий способ сделать это наверняка, но Вы узнаете много о Unix в процессе. Удостоверьтесь, что прочитали документ несколько раз, чтобы удостовериться, что Вы получаете все и задаете вопросы, если что-то определенное неясно.

Будьте терпеливы

В какой-то момент эта версия (или более новый) gcc/g ++ собирается ввести диспетчер пакетов. Если Вы ожидаете (до нескольких месяцев, я не очень знаком с циклом выпуска CentOS), Вы в конечном счете получите то, что Вы хотите.

1
27.01.2020, 20:11

Хм, я слишком новичок, чтобы комментировать ответ Рида. У меня это сработало. Единственное, что я хотел отметить (может быть, это что-то для Рида?), Это то, что мне пришлось установить с немного другой командной строкой:

yum --enablerepo=testing-devtools-5 install devtoolset-1.0

(В ответе Рида было - enablerepo = testing-devtools-6 , что не сработало.)

1
27.01.2020, 20:11

Теги

Похожие вопросы