Как добавить компилятор в список путей и путей библиотек компоновщика для недавно установленного Boost?
У меня есть RHEL 5.2 с установленным Boost 1.33.
Я загрузил boost_1_44_0.tar.bz2. и построил его. По завершении он показал:
The Boost C++ Libraries were successfully built!
The following directory should be added to compiler include paths:
/home/dfe/Archive/boost_1_44_0
The following directory should be added to linker library paths:
/home/dfe/Archive/boost_1_44_0/stage/lib
- Как добавить указанные выше пути include?
- Когда я делаю "rpm -q boost", он показывает boost-1.33.1-10.el5. Почему это так, когда я установил версию 1.44?
- Есть ли лучший способ установить последнюю версию Boost?
Ответы
Ответ 1
Во-первых, я удалил существующий boost rpm, используя
rpm -e boost-1.33.1-10.el5
Появится сообщение с сообщением "error:" boost "указывает несколько пакетов"
Затем попытался:
rpm -e --allmatches boost
(Я не помню, набрал ли я "boost" или "boost-1.33.1-10.el5" )
Были показаны пакеты с зависимостями.
Я сделал:
rpm -e [packagename1]
rpm -e [packagename2]
и т.д., а затем сделал:
rpm -e --allmatches
Это полностью очистило систему от моей системы.
Затем я извлек boost_1_44_0.tar.bz2, используя tar -xvjf boost_1_44_0.tar.bz2 и выполнил загрузку с помощью:
./bootstrap.sh
Затем запустил bjam как:
./bjam install
Что это! Boost был установлен в моей системе, и мне не нужно было указывать какие-либо параметры компоновщика при компиляции программ! Ура!
Теперь команда "rpm -q boost" показывает, что пакет не установлен.
Ответ 2
одна возможная причина заключается в том, что вы просто "делаете" не "make install".
поэтому вы должны запустить "sudo./b2 install" not "./b2"
всегда есть шаги по установке программного обеспечения в Linux-системах
1.configure "check"
2.make "создать программное обеспечение в текущем каталоге"
3.make установите "скопируйте файлы в системы, чтобы другое программное обеспечение могло использовать это программное обеспечение"
проблема в том, что вы сделали два шага, а один последний шаг не сделал
Ответ 3
Вы должны включить эти каталоги в make файл, который вы использовали бы для создания своего приложения
CC -I/home/dfe/Archive/boost_1_44_0 -L/home/dfe/Archive/boost_1_44_0/stage/lib yourprogram.cpp
-I option Добавляет dir в список каталогов, которые ищут файлы #include.
-L добавляет dir в список каталогов, которые искали библиотеки по компоновщику
CC - солнечный компилятор...
Ответ 4
Просто добавьте пути к вашему .bashrc или .profile(или тому, что плавает ваша лодка), как это:
export LIBS="-L/home/dfe/Archive/boost_1_44_0/stage/lib"
export CPPFLAGS="-I/home/dfe/Archive/boost_1_44_0"