我有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
首先,我使用删除了现有的升压转速
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"