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

来源:互联网 发布:淘宝网买手机壳 编辑:程序博客网 时间:2024/05/22 06:52

原地址

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

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


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


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

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


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

[plain] view plaincopy
  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 plaincopy
  1. $ ldd a.out  

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

0 0
原创粉丝点击