Chinaunix首页 | 论坛 | 博客
  • 博客访问: 145019
  • 博文数量: 48
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 135
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-18 14:46
个人简介

多多学习,多多交流

文章分类
文章存档

2016年(1)

2015年(23)

2014年(24)

我的朋友

分类: C/C++

2015-05-12 11:40:54

今天在单位的机器上fork了一份家里写的代码下来,昨天在家中已经将工程和环境脱离了,今天在单位,可以编译起来,但是运行时出现了一个链接的错误
./client: error while loading shared libraries: libSDL_draw-1.2.so.0: cannot open shared object file: No such file or directory

虽然程序编译时是优先使用指定的库link,但是运行时,动态库还是从系统的位置找的.
因为想避免安装这个库,所需要将工程中动态库的地址手动加入到系统中

1.查看程序的库依赖关系.看到SDL_draw是找不到了
$ldd client
...
libSDL_draw-1.2.so.0 => not found
...

2.在/etc/ld.so.conf.d/上新建动态库相应的文件配置文件
这里,我为项目建立了RStock.conf
添加上动态库的绝对路径:
/home/renywang/Desktop/RStock/lib

3.重建/etc/ld.so.cache
$sudo ldconfig

4.重新运行程序, 成功。
阅读(1293) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~