я только что установил gcc 4.9 по ссылке Вот и это очень хорошая ссылка. Но у меня есть только одна проблема, которую я не хочу пытаться не испортить -> связывание библиотек и переменных пути.
в нашем колледже есть кластер, и я установил его в своем домашнем каталоге (без рута). Теперь мой домашний каталог / каталог содержит эту папку, в которой находятся все папки gcc:
bin
include
lib
lib64
libexec
share
Что все, что мне нужно сделать, чтобы указать на двоичный файл g ++ / gcc в папке bin с дополнительными ссылками? Например, установите ld_library_path, задайте двоичные пути (экспортируйте PATH = /home/asdf/gcc4.9/bin:$PATH). так далее..
Может кто-нибудь предоставить подробности о том, что нужно сделать, чтобы использовать gcc / g ++ 4.9 (установленную мной), минуя старую версию gcc, установленную root.
Нужно ли добавлять lib и lib64 в ld_library_paths? Должен ли я использовать «» вместо < > для включения файлов (например, # inlcude «set» или #include, и он включает в себя gcc4.9, а не старый) Или явно укажите путь включения, используя -I
Любые предложения / обсуждения / комментарии приветствуются. Я знаю, что это может быть помечено как дубликат, но это будет действительно полезно для всех людей, которые хотят попробовать новый gcc-4.9 с c ++ 11, не путая переменные окружения.
PS: Я не спрашиваю, как экспортировать или установить переменную среды. Я спрашиваю что все Переменные окружения должны использовать мою не-root версию gcc, а не более старую версию root и не испортить л.д. пути и так пути во время выполнения.
Спасибо !!
Если вы строите свой компилятор с --prefix=/home/myname/gcc4.9
(очевидно, подстраивается под вашу систему), тогда компилятор должен «знать», что включены пути и т. д.
Все, что вам нужно, это убедиться, что ваш путь /home/myname/gcc4.9/bin
до /usr/bin
или где установлен ваш другой gcc, и все должно работать как обычно. На моей машине я установил gcc 4.8.2 из собственной сборки и gcc 4.6.3 из установщика linux для gcc (потому что это довольно старый дистрибутив). И пока у меня есть пути, установленные в правильном порядке, это работает «автоматически».
Вам нужно будет установить LD_LIBRARY_PATH
, но include-paths и статические библиотеки должны обрабатываться самим gcc.