关闭

gcc 指定动态连接路编译时路径和运行时路径

1275人阅读 评论(0) 收藏 举报
分类:

http://blog.sina.com.cn/s/blog_9720724f0101eyl7.html

 

 

gcc -L选项在链接时指定动态库路径,编译通过,但是执行时会找不到路径;

gcc -Wl -rpath选项在运行时指定路径,运行时按照指定路径寻找动态库;

也就是说处理动态链接库时有2个路径:链接时路径和运行时路径,2个路径是分开的;

如:

 $(CC) -o $@ $^ -L/home/db2 -lfinger_client -Wl,-rpath=/home/db2

 


下面是别人测试的结果:动态库的搜索路径搜索的先后顺序是:

1. 编译目标代码时指定的动态库搜索路径;
2. 环境变量 LD_LIBRARY_PATH 指定的动态库搜索路径;
3. 配置文件 /etc/ld.so.conf 中指定的动态库搜索路径;
4. 默认的动态库搜索路径 /lib ;
5. 默认的动态库搜索路径 /usr/lib

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:237460次
    • 积分:4187
    • 等级:
    • 排名:第7348名
    • 原创:146篇
    • 转载:255篇
    • 译文:1篇
    • 评论:12条
    文章分类
    最新评论