Linux 下打包可执行程序所有依赖的so 库

Linux 下打包可执行程序所有依赖的so 库

1、linux中通过ldd 可以查询一个执行程序的依赖的所有so库:

例如:ldd groundSegment


linux-vdso.so.1 =>  (0x00007ffcecb79000)
libroscpp.so => not found
librosconsole.so => not found
libroscpp_serialization.so => not found
librostime.so => not found
libpcl_common.so.1.8 => /usr/lib/libpcl_common.so.1.8 (0x00007fb9308c4000)
libboost_system.so.1.58.0 => /usr/lib/x86_64-linux-gnu/libboost_system.so.1.58.0 (0x00007fb9306c0000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb9304a3000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fb930121000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb92fe18000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fb92fc02000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb92f838000)
libboost_thread.so.1.58.0 => /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.58.0 (0x00007fb92f612000)
libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007fb92f3f0000)
/lib64/ld-linux-x86-64.so.2 (0x00007fb930e89000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fb92f1e8000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb92efe4000)

2、拷贝ldd 的查询结果到指定目录

ldd groundSegment | awk '{print $3}' | xargs -i cp -L {} ./lib

3、有依赖的so 库都被拷贝到指定目录

在没有安装环境的linux 系统中加入下面环境变量进行测试

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:(./lib的绝对目录)

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux下,你可以使用多种方法来查看可执行文件的依赖。其中一种方法是使用ldd命令。ldd命令可以列出一个可执行文件所依赖的动态。你可以在终端中输入"ldd 可执行文件路径"来查看。另外,你还可以使用xxx-linux-objdump命令或xxx-linux-readelf命令来查看可执行文件的依赖情况。这两个命令可以提供更详细的信息,包括共享对象的名称等。你可以在终端中输入"xxx-linux-objdump -x 可执行文件路径 | grep 'NEEDED'"或"xxx-linux-readelf -a 可执行文件路径 | grep 'Shared'"来查看。除此之外,还有一些其他的方法,如利用pldd、pmap和ln命令等。希望这些方法可以帮助你在Linux中查看可执行文件的依赖。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Linux查看可执行文件依赖](https://blog.csdn.net/JoshYueby/article/details/105528682)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Linux下,查看 可执行文件 依赖的 动态的几个方法](https://blog.csdn.net/wkd_007/article/details/126121134)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Linux 查看程序(动态)、进程的依赖的方法](https://blog.csdn.net/wsp_1138886114/article/details/128110849)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值