Подтвердить что ты не робот

Как добавить компилятор в список путей и путей библиотек компоновщика для недавно установленного 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?
4b9b3361

Ответ 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"