linuxtarlib依赖库多重连接

linuxtarlib依赖库多重连接,第1张

linuxtarlib依赖库多重连接库多重依赖 1、动态库依赖动态库 2、动态库依赖静态库 3、静态库依赖静态库 一、编译命令 g++ –c Hello.cpp 编译文件,生成目标文件Hello.o

1.查看依赖的库:

objdump -x xxx.so | grep NEEDED

2.查看可执行程序依赖的库:

objdump -x 可执行程序名 | grep NEEDED

3.查看缺少的库:

ldd xxx.so

4.查看库版本编译等信息:

strings xxx.so

-L -rpath -rpath-link 添加动态库路径

一、添加附加包含目录

      法1:-I path(path为头文件路径)

      法2:将头文件拷贝到 /usr/local/include中

      相当于VS中添加包含路径。

二、添加依赖库

       法1,编译阶段,g++编译器编译:

       -L path –lcaffe(path为附加库目录路径;-l指定附加依赖项,比如-lcaffe表示附加libcaffe.so动态库文件)。

执行阶段,在工作目录或环境变量中搜索dll文件:

       添加环境变量:

2.1 /etc/ld.so.conf 文件中方法:

添加库目录,使其成为共享库:

2.1.1、 打开文件:sudo gedit /etc/ld.so.conf

2.1.2、在文件中添加路径(如libnnpack.so的路径)

2.1.2、使其生效:sudo ldconfig

2.2     export方法,参考:http://blog.csdn.net/xzzppp/article/details/53305120

VS中添加附加库目录路径和附加依赖项,分别如下图所示:

法2,在编译阶段直接指定: path/libcaffe.so(path为附加库目录路径,libcaffe.so为动态库,在执行阶段可以直接运行)

法3,, Linux动态库的默认搜索路径是/lib和/usr/lib,将动态库拷贝到这两个文件夹下面。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7891148.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存