linux下g++链接动态库与静态库相关问题
2017-08-24 18:16
351 查看
在写程序时,所写程序会使用到已有的动态库或者静态库。下文是本人所用电脑在使用g++链接动态库或者静态库过程中的一些矛盾测试结果,以作备忘也供有缘人进行参考。
1、若加载的两个动态库中都包含相同的函数,可执行程序会根据编译时链接的动态库的先后顺序,优先使用先链接库的函数。如liba.so与libb.so中都有函数c,若编译时链接顺序为-lb -la,则可执行程序会使用b库中的c程序。
2、编译器链接库的顺序可使用ldd查看,该命令所列出的动态库顺序与编译链接顺序相同。
3、编译器会自动往链接库追加前缀lib及后缀.a或者.so。如-ltest,链接库名为libtest.so或者libtest.a。
4、在动态库和静态库都存在的情况下,(如libtest.so,libtest.a,链接库方式都为-ltest),编译器优先加载动态库。
1、若加载的两个动态库中都包含相同的函数,可执行程序会根据编译时链接的动态库的先后顺序,优先使用先链接库的函数。如liba.so与libb.so中都有函数c,若编译时链接顺序为-lb -la,则可执行程序会使用b库中的c程序。
2、编译器链接库的顺序可使用ldd查看,该命令所列出的动态库顺序与编译链接顺序相同。
3、编译器会自动往链接库追加前缀lib及后缀.a或者.so。如-ltest,链接库名为libtest.so或者libtest.a。
4、在动态库和静态库都存在的情况下,(如libtest.so,libtest.a,链接库方式都为-ltest),编译器优先加载动态库。
相关文章推荐
- 解决Linux程序编译链接动态库版本的相关问题
- linux下g++ 编译时动态库和静态库的链接和头文件问题
- linux下g++ 编译时动态库和静态库的链接和头文件问题
- Linux静态、动态库的链接顺序问题
- Linux静态库和动态库编译链接问题
- Linux下静态库_库的基本概念;如何生成静态库动态库;nm查看库中包含那些函数、ar生成静态库,查看库中包含那些.o文件、ldd查看程序依赖的.so文件;gcc/g++与库相关的参数-L,-l,-f
- 【转】Linux编译链接问题----静态库和动态库
- gcc/g++ 静态动态库 混链接.
- linux下动态库/静态库 链接路径设置问题
- Linux下静态库_库的基本概念;如何生成静态库动态库;nm查看库中包含那些函数、ar生成静态库,查看库中包含那些.o文件、ldd查看程序依赖的.so文件;gcc/g++与库相关的参数-L,-l,-f
- [链接] Linux下常见的~/.bashrc、/etc/profile、/etc/ld.so.config小科普以及caffe编译遇到的相关问题解决
- linux下静态加载一个动态库出现的问题
- Linux下静态库_库的基本概念;如何生成静态库动态库;nm查看库中包含那些函数、ar生成静态库,查看库中包含那些.o文件、ldd查看程序依赖的.so文件;gcc/g++与库相关的参数-L,-l,-f
- linux下静态库、动态库相关问题总结
- Linux下如何解决动态库的链接问题
- Linux编译链接问题----静态库和动态库
- Linux下Gcc生成和使用静态库和动态库及相关问题总结
- gcc g++ Linux下动态库_静态库 指定路径问题
- Linux程序编译链接动态库版本的问题
- Linux下静态库_库的基本概念;如何生成静态库动态库;nm查看库中包含那些函数、ar生成静态库,查看库中包含那些.o文件、ldd查看程序依赖的.so文件;gcc/g++与库相关的参数-L,-l,-f