爱自在的专栏

Android = Linux内核层、硬件抽象层(HAL)、运行时库层(Runtime)、应用程序框架层(Application Framework)以及应用程序层(Application)...

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

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

 

阅读更多
个人分类: ffmpeg
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

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

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭