zoukankan      html  css  js  c++  java
  • 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. 点击工作空间,添加需要搜索的目录。

  • 相关阅读:
    Windows XP下 Android开发环境 搭建
    Android程序的入口点
    在eclipse里 新建android项目时 提示找不到proguard.cfg
    64位WIN7系统 下 搭建Android开发环境
    在eclipse里 新建android项目时 提示找不到proguard.cfg
    This Android SDK requires Android Developer Toolkit version 20.0.0 or above
    This Android SDK requires Android Developer Toolkit version 20.0.0 or above
    Android requires compiler compliance level 5.0 or 6.0. Found '1.4' instead
    Windows XP下 Android开发环境 搭建
    Android程序的入口点
  • 原文地址:https://www.cnblogs.com/huliangwen/p/5424033.html
Copyright © 2011-2022 走看看