c/c++编译时,指定程序运行时查找的动态链接库路径

原地址

http://blog.csdn.net/tsxw24/article/details/10220735

[plain]   view plain copy
  1. $ g++ -Wl,-rpath,/usr/local/lib/ -oevh libevent_http.cpp -levent  


-Wl,-rpath,  用于指定程序运行时查找动态链接库的路径,多个路径是使用冒号隔开。这样就不用添加路径到 /etc/ld.so.conf 文件中了,在需要多个so版本共存时很有用


编译完成后可以使用以下命令查看路径是否设置成功了

[plain]   view plain copy
  1. $ readelf -dl  evh  


看到类似下面的信息则是路径设置成功了

[plain]   view plain copy
  1. 0x000000000000000f (RPATH)              Library rpath: [/usr/local/lib/:/data1/thd/jsoncpp/lib/:/data1/thd/leveldb/lib/:/data1/tools/boost_1_53_0/stage/lib/]  


另外以下命令可以查看可执行文件的依赖库

[plain]   view plain copy
  1. $ ldd a.out  

可明确的知道需要那些依赖库,以及哪些依赖库找不到

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值