http://blog.csdn.net/tsxw24/article/details/10220735
c/c++编译时,指定程序运行时查找的动态链接库路径
分类: c/c++ linux 2013-08-23 14:04 1117人阅读 评论(0) 收藏 举报
[plain] view plaincopy
- $ g++ -Wl,-rpath,/usr/local/lib/ -oevh libevent_http.cpp -levent
-Wl,-rpath, 用于指定程序运行时查找动态链接库的路径,多个路径是使用冒号隔开。这样就不用添加路径到 /etc/ld.so.conf 文件中了,在需要多个so版本共存时很有用
编译完成后可以使用以下命令查看路径是否设置成功了
[plain] view plaincopy
- $ readelf -dl evh
看到类似下面的信息则是路径设置成功了
[plain] view plaincopy
- 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
- $ ldd a.out
可明确的知道需要那些依赖库,以及哪些依赖库找不到
时间: 2024-10-22 14:05:18