快速解决boost库链接出错的问题(分享)

 更新时间:2017年05月18日 08:04:02   投稿:jingxian  
下面小编就为大家带来一篇快速解决boost库链接出错的问题(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

安装完最新的Boost库

官方说明中有一句话:

Finally,

$ ./b2 install
will leave Boost binaries in the lib/ subdirectory of your installation prefix. You will also find a copy of the Boost headers in the include/ subdirectory of the installation prefix, so you can henceforth use that directory as an #include path in place of the Boost root directory.

大部分Boost库无需动态或静态编译链接,小部分如regex   thread   coroutine之类的库在编译自己的源代码时需要加入链接提示

比如在编译使用regex的库时命令如下:

c++ -I /usr/local/include/boost/ main.cpp -o test1 -L /usr/local/lib -lboost_regex

完成后运行时:

LD_LIBRARY_PATH="/usr/local/lib" ./test1  

否则会报错:

error while loading shared libraries: libboost_regex.so.1.64.0: cannot open shared object file: No such file or directory

这个错误在stackoverflow上给的解释是:

The library cannot be found.

Libraries are by default looked for in /lib, /usr/lib and the directories specified by /etc/ld.so.conf.

Usually system libraries (like boost, if you installed it via your package manager) are located in /usr/lib, but it's probably not your case.

Where are your boost libraries located on your system? Did you compile them by yourself? In this case you should tell the dynamic linker to look for your libraries in the directory they're located by using the LD_LIBRARY_PATH environment variable:

LD_LIBRARY_PATH="your/boost/directory" ./testfgci
I'd suggest you to install boost libraries using your package manager, anyway, this will make your life a lot simpler.

也就是说系统在运行程序时要先加载动态库,系统的搜寻目录在/etc/ld.so.conf或者/etc/ld.so.conf.d/*.conf中,而该目录中没有链接库所在的位置,要在该文件中手动加入目录地址或者在运行程序之前指定LD_LIBRARY_PATH的值

这样才能正确识别动态库

以上这篇快速解决boost库链接出错的问题(分享)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 结合C++11的新特性来解析C++中的枚举与联合

    结合C++11的新特性来解析C++中的枚举与联合

    这篇文章主要介绍了C++编程中的枚举与联合,结合了范围(或强类型)enum class类型等C++11的新特性来讲解,需要的朋友可以参考下
    2016-01-01
  • C语言实现猜数字小游戏

    C语言实现猜数字小游戏

    这篇文章主要为大家详细介绍了C语言实现猜数字小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • Visual Studio C++指针靠前靠后的问题全面解析

    Visual Studio C++指针靠前靠后的问题全面解析

    这篇文章主要介绍了Visual Studio C++指针靠前靠后的问题全面解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • 在C++中自定义宏的简单方法

    在C++中自定义宏的简单方法

    这篇文章主要介绍了在C++中自定义宏的简单方法,作者建议使用类似定义函数一样的方法来定义宏,需要的朋友可以参考下
    2015-07-07
  • AVX2指令集浮点乘法性能分析

    AVX2指令集浮点乘法性能分析

    这篇文章主要为大家介绍了AVX2指令集浮点乘法性能分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • vc6.0中c语言控制台程序中的定时技术(定时器)

    vc6.0中c语言控制台程序中的定时技术(定时器)

    这篇文章主要介绍了vc6.0中c语言控制台程序中的定时技术(定时器),需要的朋友可以参考下
    2014-04-04
  • c读取一行字符串,以及c++读取一行字符串的实例

    c读取一行字符串,以及c++读取一行字符串的实例

    今天小编就为大家分享一篇c读取一行字符串,以及c++读取一行字符串的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • C语言数组超详细讲解上

    C语言数组超详细讲解上

    数组是一组有序的数据的集合,数组中元素类型相同,由数组名和下标唯一地确定,数组中数据不仅数据类型相同,而且在计算机内存里连续存放,地址编号最低的存储单元存放数组的起始元素,地址编号最高的存储单元存放数组的最后一个元素
    2022-04-04
  • C/C++整数乘积的溢出问题的解决

    C/C++整数乘积的溢出问题的解决

    整数乘积的溢出问题是指两个整数相乘得到的结果超过了所能表示的数据类型的范围,本文给大家介绍了C/C++整数乘积的溢出问题的解决,需要的朋友可以参考下
    2024-02-02
  • C++继承的定义与注意事项

    C++继承的定义与注意事项

    这篇文章主要给大家介绍了关于C++继承的定义与注意事项的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05

最新评论