• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > 快速解决boost库链接出错的问题(分享)

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

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了boost库,boost库下载,boost库教程,boost库安装,c boost库等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

安装完最新的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库链接出错的问题(分享)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 快速解决boost库链接出错的问题(分享)
  • VS2010 boost标准库开发环境安装教程
  • VS2013安装配置和使用Boost库教程
  • C++ boost 时间与日期处理详细介绍
  • C++中Boost库裁剪与其应用详解
  • C++之BOOST字符串查找示例
  • C++之Boost::array用法简介
  • C++之boost::array的用法

相关文章

  • 2017-05-28c语言网络编程-标准步骤(比较简单)
  • 2017-05-28快速模式匹配算法(KMP)的深入理解
  • 2017-05-28C++利用链栈实现表达式求值
  • 2017-05-28C++中赋值运算符与逗号运算符的用法详解
  • 2017-05-28C语言实现的bitmap位图代码分享
  • 2017-05-28C++ 基础编程之十进制转换为任意进制及操作符重载
  • 2017-05-28c语言指针之二级指针示例
  • 2017-05-28浅谈C++中虚函数实现原理揭秘
  • 2017-05-28C++ 类访问控制的条件总结
  • 2017-05-28C++制作俄罗斯方块

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 使用C语言来解决循环队列问题的方法
    • va_list(),va_start(),va_arg(),va_end() 详细解析
    • C++、C语言和JAVA开发的区别
    • 支持C++,python,java等语言的跨平台的农历库(天文历算法)
    • c语言实现冒泡排序、希尔排序等多种算法示例
    • C语言指针的长度和类型深入分析
    • C/C++产生随机数函数简单介绍
    • c语言连接mysql数据库的实现方法
    • return和break的区别解析
    • Linux下g++编译与使用静态库和动态库的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有