代码之家  ›  专栏  ›  技术社区  ›  Nav MetroidFan2002

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

  •  17
  • Nav MetroidFan2002  · 技术社区  · 15 年前

    我已经安装了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
    
    1. 当我做“rpm-q boost”时,它显示boost-1.33.1-10.el5。为什么在我安装了1.44版之后会这样?
    2. 有没有更好的方法安装最新版本的Boost?
    4 回复  |  直到 15 年前
        1
  •  14
  •   Phrogz    6 年前

    在Linux系统上安装软件通常有三个步骤:

    1. 配置“检查”
    2. 使安装“将文件复制到系统以便其他软件可以使用此软件”

    你可能做了相当于 make make install . 你得跑了

    sudo ./b2 install
    

    ./b2

        2
  •  11
  •   Nav MetroidFan2002    15 年前

    首先,我使用了现有的Boost RPM。

    rpm -e boost-1.33.1-10.el5
    

    然后尝试:

    rpm -e --allmatches boost
    

    显示了具有依赖项的包。 我做到了:

    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 install
    

    就这样!Boost安装在我的系统上,我在编译程序时不必指定任何链接器选项!耶! 现在'rpm-q boost'命令显示没有安装包。

        3
  •  9
  •   jRJ    15 年前

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

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

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

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

    CC是sun编译器。。。

        4
  •  9
  •   isomorphismes Marcin    11 年前

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