簡體   English   中英

程序和安裝庫的依賴性

[英]Dependensies of program and install libraries

在我的Linux Mint中,我有一個程序,一個可執行文件。 在終端中使用ldd時,我可以依賴此可執行文件。 ldd文件在另一個系統中移動程序時,它不會運行。

ldd文件給出類似...

linux-vdso.so.1 =>  (0x00007ffc2a36d000)
libwx_gtk2u_stc-3.0.so.0 => /usr/lib/x86_64-linux-gnu/libwx_gtk2u_stc-3.0.so.0 (0x00007f2919d55000)
libwx_gtk2u_adv-3.0.so.0 => /usr/lib/x86_64-linux-gnu/libwx_gtk2u_adv-3.0.so.0 (0x00007f291996f000)
libwx_gtk2u_core-3.0.so.0 => /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0 (0x00007f29190f5000)
libwx_baseu-3.0.so.0 => /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 (0x00007f2918c63000)
libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f291898e000)

......

我如何知道所有這些庫並僅安裝它就需要運行到其他系統。

使用objdump -p / path / to / program | 需要grep我只能獲取我需要的庫嗎?

謝謝!

ldd的輸出表明您已經在系統上安裝了所有庫依賴項。

它不能在另一個系統上運行的原因很可能是由於這些庫的鏈接表不同而引起的,因此您的程序根本無法找到該地址正在尋找的符號。

作為一個簡單的解決方案,我建議在新計算機上重新編譯程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM