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

问题描述 投票:18回答:4

我安装了Boost 1.33的RHEL 5.2。我下载了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
  1. 如何添加上述包含路径?
  2. [当我执行rpm -q boost时,显示boost-1.33.1-10.el5。为什么当我安装1.44版时会这样?
  3. 是否有更好的方法来安装最新版本的Boost?
c++ linux boost build rpm
4个回答
14
投票

在Linux系统上安装软件总是有三个步骤:

  1. 配置-“检查”
  2. make —“在当前目录中构建软件”
  3. 进行安装-“将文件复制到系统,以便其他软件可以使用该软件”

您可能执行了make的等效项,但没有执行make install的等效项。您需要运行

sudo ./b2 install

运行./b2之后


11
投票

首先,我使用以下命令删除了现有的Boost rpm:>

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.sh

然后以以下方式运行bjam:

./bjam install

就是这样! Boost已安装在我的系统上,并且在编译程序时无需指定任何链接器选项!好极了!现在,'rpm -q boost'命令显示没有安装软件包。


9
投票

您必须将这些目录包含在用于生成应用程序的makefile中


9
投票

只需将路径添加到您的.bashrc或.profile(或任何使您的船漂浮的东西),就像这样:

© www.soinside.com 2019 - 2024. All rights reserved.