如何为新安装的Boost添加编译器包含path和链接器库path?

我有RHEL 5.2,安装了Boost 1.33。 我下载了boost_1_44_0.tar.bz2。 并build立它。 完成后显示:

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 
  1. 我如何添加上面提到的包含path?
  2. 当我做“rpm -q boost”时,显示boost-1.33.1-10.el5。 为什么这样,当我安装了版本1.44?
  3. 有没有更好的方法来安装最新版本的Boost?

首先,我使用删除了现有的升压转速

 rpm -e boost-1.33.1-10.el5 

一条消息显示“错误:”boost“指定多个包”

然后尝试:

 rpm -e --allmatches boost 

(我不记得是否输入'boost'或'boost-1.33.1-10.el5')

显示了依赖关系的包。 我做了:

 rpm -e [packagename1] rpm -e [packagename2] 

等等,然后做:

 rpm -e --allmatches 

这从我的系统完全删除提振。

然后,我使用tar -xvjf boost_1_44_0.tar.bz2提取boost_1_44_0.tar.bz2并运行bootstrap:

 ./bootstrap.sh 

然后运行bjam为:

 ./bjam install 

而已! Boost已经安装在我的系统上,编译程序时我不必指定任何链接器选项! 好极了! 现在,'rpm -q boost'命令显示没有安装软件包。

您必须将这些目录包含到您将用于构建应用程序的makefile中

 CC -I/home/dfe/Archive/boost_1_44_0 -L/home/dfe/Archive/boost_1_44_0/stage/lib yourprogram.cpp 

-I选项将dir添加到搜索#include文件的目录列表中。

-L选项将dir添加到由链接器搜索库的目录列表

CC是sun编译器…

一个可能的原因是你只是“制造”而不是“安装”。 所以你应该运行“sudo ./b2 install”而不是“./b2”

总是有步骤在Linux系统中安装软件1.配置“检查”2.制作“在当前目录建立软件”3.制作安装“复制文件到系统,使其他软件可以使用该软件”

问题是你已经做了两步,最后一步还没有做完

只需将路径添加到.bashrc或.profile(或者其他类似的东西)即可:

 export LIBS="-L/home/dfe/Archive/boost_1_44_0/stage/lib" export CPPFLAGS="-I/home/dfe/Archive/boost_1_44_0"