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)