zoukankan      html  css  js  c++  java
  • boost and boost::regex for linux(Ubuntu) 编译and安装_二少_新浪博客

    boost and boost::regex for linux(Ubuntu) 编译and安装_二少_新浪博客

    1、下载Boost库
          (1)Http下载,下载地址是http://sourceforge.net/projects/boost/files/boost/1.42.0/
          (2)用svn客户端来下载,地址是:http://svn.boost.org/svn/boost/trunk/
        注:我通过(1)下载版本为boost_1_42_0.tar.gz
    2、进入boost_1_42_0.tar.gz目录
            (1)tar解压
            (2)进入其下的 ./libs/regex/build目录
            (3)make -f gcc.mak
            (4)make -f gcc-shared.mak
         注:然后会在 ./libs/regex/build下生成一个gcc目录,里面有最重要的四个文件:
               (1)libboost_regex-gcc-1_42.a , 这是release版的静态库
               (2)libboost_regex-gcc-1_42.so, 这是release版的动态库(共享库)
               (3)libboost_regex-gcc-d-1_42.a, 这是debug版的静态库
               (4)libboost_regex-gcc-d-1_42.so, 这里debug版的动态库(共享库)
    3、Boost Regex Libray使用注意事项

    (1)在使用之前你需要把Boost的安装目录加入到系统的Path中(当然也可以在编译时直接指定)
    (2)需要包含的头文件 boost/regex.hpp
    (3)需要依赖的库:上步中编译好的四个库,取其中任意一个即可,具体如何使用动态/静态库,可以参考前面的文章

    (4)程序编译成功后,在执行之前,还要在shell中运行:export LD_LIBRARY_PATH="path", path为你的libboost_regex-gcc-1_44.so所在的目录,然后再运行你的程序。

    我的是:export LD_LIBRARY_PATH="/home/yuan/software/boost_1_42_0/libs/regex/build/gcc"

    附注:
    在 linux下的编程,毫无疑问的迟早都要用到LD_LIBRARY_PATH这个环境变量,不过这个环境变量是基于shell的,也就是说只有在当前设置了的shell里才会有作用,因此每次打开新的shell运行程序不停地设置LD_LIBRARY_PATH,是一件非常麻烦的事情,所以我们就会想有不 有什么一劳永逸地方法,使得设置之后就不用再去设置了?答案是肯定的,即在~/目录下打开.bash_profile文件,设置环境变量如下:

    1. LD_LIBRARY_PATH=dir:$LD_LIBRARY_PATH 

    2. export LD_LIBRARY_PATH

    但是:

             Ubuntu 不能在 profile, environment,.bashrc中设置 LD_LIBRARY_PATH, 可以这样解决库装载问题:
    编辑 /etc/ld.so.conf 文件,将指定的路径加上,或者在 /etc/ld.so.conf.d/ 目录中添加一个新的配置文件,内容看一下该目录下其它文件就明白了。。。当然你得有权限这么做

       所以如果要想一劳永逸的话,只能在/etc/ld.so.conf或者/etc/ld.so.conf.d/ 目录中添加一个新的配置文件来实现了。

     

    注意:

           ldconfig做的这些东西都与运行程序时有关,跟编译时一点关系都没有。编译的时候还是该加-L就得加,不要混淆了;

           LD_LIBRARY_PATH 这个环境变量是大家最为熟悉的,它告诉loader:在哪些目录中可以找到共享库。可以设置多个搜索目录,这些目录之间用冒号分隔开。在linux下,还 提供了另外一种方式来完成同样的功能,你可以把这些目录加到/etc/ld.so.conf中,然后调用ldconfig。当然,这是系统范围内全局有效 的,而环境变量只对当前shell有效。

  • 相关阅读:
    192021
    191020
    magento注册
    magento登陆
    把PHP的数组变成带单引号的字符串
    magento直接操作数据库
    兼容各大浏览器的event获取
    手动修改magento域名
    微信支付中的jsapi返回提示信息
    CentOS 下安装xdebug
  • 原文地址:https://www.cnblogs.com/lexus/p/2969151.html
Copyright © 2011-2022 走看看