• Linux平台的boost安装全解


          最近把cpp代码从开发机放到编译机去,遇到了不少路径问题,所以记录了本文。

    一、安装方法

          安装boost的时候,其实很简单,按如下步骤安装:

    1. wget http://sourceforge.net/projects/boost/files/boost/1.54.0/boost_1_54_0.tar.gz
    2. tar -xzvf boost_1_54_0.tar.gz
    3. cd boost_1_54_0
    4. ./bootstrap.sh --prefix=/usr/local
    5. ./b2 install --with=all
    6. boost库被安装在/usr/local/lib下面

    二、编译错误

          若编译带有boost库的应用程序时,如在终端运行命令:g++ syslogem.cpp -lboost_system

    若出现如下错误

    1. undefined reference to `boost::system::generic_category()'
    2. undefined reference to `boost::system::generic_category()'
    3. undefined reference to `boost::system::system_category()'

    只好添加路径

    1. g++ syslogem.cpp -L/usr/local/lib -lboost_system

          而在Linux的eclipse平台上的解决办法是添加"/usr/local/lib"路径。

    三、运行错误

          若再运行阶段出现如下错误

    1. error while loading shared libraries: libboost_system.so.1.54.0: cannot open shared object file: No such file or directory

    在可以进行如下解决:

          1)添加环境变量:LD_LIBRARY_PATH=/usr/local/lib

          在eclipse的添加方式是点击:运行/运行配置/环境/新建。接着添加上述的变量和变量值,如下所示。

    注意:

          若希望在终端上执行命令,则需要export到~/.bash_profile文件中。当然若是添加到了启动文件后,就不需在eclipse中进行配置了。

          2)手动添加链接:ln -s /usr/local/lib/libboost_system.so.1.54.0 /lib64

    这个需要在Linux终端进行操作,不管是否使用了eclipse平台。

    四、eclipse 文件目录管理

          由于在C++项目中,存在很多文件,为了便于对这些文件的管理,所以创建了一些文件夹对大量文件进行管理。但这样导致项目中的引用非常复杂,从而可采用在项目中添加自动搜索路径来解决引用复杂的问题。如下所示:

    1. 右击项目,选择属性
    2. 选择:C/C++构建à设置àGNC C++ 编译器à包含
    3. 在上部分中,添加路径;
    4. 点击工作空间,添加需要搜索的目录。

  • 相关阅读:
    HDU-4514 湫湫系列故事——设计风景线 手动扩栈
    HDU-4511 小明系列故事——女友的考验 floyd变种-标号递增最短路
    Codeforces Round #199 (Div. 2)
    HDU-4507 吉哥系列故事——恨7不成妻 数位DP
    ZOJ-2342 Roads 二分图最小权值覆盖
    C++题目一道: 重载`->': 您真的懂成员访问运算符的重载吗?
    FCEUX金手指加强版
    原码,反码与补码之间的转换简记
    stm32开发
    Windows中"打开方式..."无法指定程序的解决办法
  • 原文地址:https://www.cnblogs.com/huliangwen/p/5424033.html
Copyright © 2020-2023  润新知