在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux應用程序找不到動態庫怎么辦?

汽車電子技術 ? 來源:嵌入式情報局 ? 作者:情報小哥 ? 2023-02-21 11:02 ? 次閱讀

1、靜態庫與動態庫

所謂的庫,其實都是一些二進制的可執行文件集合,靜態庫在linux中一般命名形式為libxxx.a,而動態庫一般常用libxxx.so。

他們都可以通過源文件編譯得到,往期對這兩種庫都過介紹:

Linux應用編程之靜態庫的制作與使用

Linux應用編程之動態庫的制作與使用

Linux應用編程之動靜態鏈接庫輔助技巧(ldd,-static)

對于靜態庫主要是用于程序編譯的過程中提供相應的函數實現,最終使用到該靜態庫中的內容會整合到最終的程序中,這樣程序在運行過程中就不再依賴外部其他庫了。

而動態庫并不是用于編譯期,而是在運行期通過動態加載器來加載庫函數,使得可執行程序得以運行,當然動態鏈接也分不同的加載時期,相對比較靈活,有些程序一運行就需要進行加載,而有些的動態庫是在執行過程中加載。

2、動靜態庫優缺點

那么動態庫與靜態庫的優缺點也比較明顯,使用靜態庫編譯生成的可執行文件對外界沒有什么需求,依賴少,相應的其可執行程序體積變大,一旦修改需要重新編譯。

而對于動態庫,由于是程序運行時候加載相應的動態庫,所以其可執行文件相對要小很多,同時對于庫的修改,僅僅編譯和替換相應的動態庫即可,更加的方便。

3、Linux中動態庫的查找

由于可執行程序依賴動態鏈接庫,所以存在一個問題:從哪里找動態鏈接庫?,經常我們動態編譯的可執行應用程序,由于系統中、或者自己沒有指定相應的庫路徑,就會報運行失敗,提示缺少相應的庫。

圖片

這樣就需要在系統中安裝對應的庫,并且把庫放在動態加載器所能搜索到的位置,在linux中有如下幾種搜索路徑:

1、在可執行程序編譯的時候通過編譯選項指定相應的動態庫路徑,這樣在程序運行的時候就會在文件系統對應路徑加載對應的動態庫,比如通過使用-Wl,-rpath=your path來進行編譯,編譯成功的可執行程序你可以使用ldd命令來查看是否路徑指定成功,可執行程序幾乎是第一時間搜索該路徑查看動態庫是否存在。

2、通過使用環境變量 : LD_LIBRARY_PATH指定,可以使用如下命令進行查看:

1echo $LD_LIBRARY_PATH

通過export在已有的路徑上進行添加:

1export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:your path

跟之前給大家介紹的PATH環境變量的使用是一致的,當可執行程序找到指定路徑,會在該環境變量中指定的路徑進行查找,當然修改該環境變量會影響到所有的應用程序動態加載的搜索。

3、系統默認的路徑/lib和/user/lib進行搜索,當然在用戶級的程序大部分都會安裝在/usr/local中,所以用戶級的庫大部分也會放在/user/local/lib路徑中。

4、當然在Ubuntu中還通常在配置文件/etc/ld.so.conf中指定的動態庫搜索路徑,不過要記得當我們把相應的動態庫路徑添加進入以后,需要使用ldconfig進行配置才能生效。

最 后

好了,這里小哥就簡單介紹了動態庫與靜態庫的差異,以及Linux系統一般如何搜索動態庫,本系列文章后續還會更新,記得關注學習哦。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11425

    瀏覽量

    212406
  • 函數
    +關注

    關注

    3

    文章

    4365

    瀏覽量

    63913
  • 靜態庫
    +關注

    關注

    0

    文章

    21

    瀏覽量

    7571
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    proteus元件找不到怎么辦

    `誰有元件啊我這里好多元件都找不到不知道該怎么辦`
    發表于 05-20 21:13

    pcb板找不到元件怎么辦,求大神呀

    pcb板找不到元件怎么辦,求大神呀
    發表于 06-30 23:00

    Altium Designer找不到元件怎么辦

    請問一下各位,我在Altium Designer里面繪制電路圖時找不到marvell公司的88e1111芯片的元件,不知道該怎么辦?網上到處都是比較全的元件,下下來也沒見怎么個全法,所以請教一下各位有沒有關于Marvell 公
    發表于 07-19 11:34

    找不到TDA2822怎么辦

    怎么用MUltisim做有關TDA2822仿真,找不到這個原件怎么辦?用其他的怎么替代
    發表于 07-22 15:41

    在***原件找不到所需器件怎么辦,新手啊

    在***原件找不到所需器件怎么辦
    發表于 10-23 17:46

    AD10工程管理窗口和窗口找不到怎么辦

    AD10工程管理窗口和窗口找不到怎么辦怎樣是AD10恢復默認設
    發表于 01-16 10:41

    orcad仿真中找不到TDA2030怎么辦?沒有那個

    orcad中找不到TDA2030怎么辦?沒有那個
    發表于 02-22 20:16

    求助,ChipWatcher找不到信號怎么辦

    ChipWatcher找不到信號怎么辦
    發表于 08-11 10:01

    電腦找不到硬盤怎么辦

    有時候開機時電腦找不到硬盤怎么辦,本內容分析了幾種找不到硬盤的解決方案。
    發表于 05-08 11:16 ?6.3w次閱讀

    linux無法識別U盤怎么辦

    linux無法識別U盤怎么辦
    發表于 05-19 09:08 ?1.7w次閱讀
    <b class='flag-5'>linux</b>無法識別U盤<b class='flag-5'>怎么辦</b>

    linux找不到動態如何解決

    解決linux找不到動態的問題
    發表于 06-13 09:43 ?2341次閱讀

    找不到服務器或DNS錯誤時該怎么辦

    陽光系統下載 找不到服務器或DNS錯誤怎么辦 我們在使用電腦的時候,經常會瀏覽網頁,但是在瀏覽網頁的過程中經常出現無法顯示此網頁、找不到服務器或DNS錯誤,那么我們遇到網頁提示找不到
    發表于 02-03 15:07 ?4437次閱讀
    <b class='flag-5'>找不到</b>服務器或DNS錯誤時該<b class='flag-5'>怎么辦</b>

    keil5中找不到或沒有對應的芯片怎么辦?超詳細!!

    keil5中找不到或沒有對應的芯片怎么辦?超詳細!!安裝完Keil5之后,有的小伙伴們是不是會發現,為什么新建工程的時候找不到自己想要的CUP型號,如下圖:這里就假設要找的CUP型號是三星
    發表于 12-23 19:16 ?30次下載
    keil5中<b class='flag-5'>找不到</b>或沒有對應的芯片<b class='flag-5'>怎么辦</b>?超詳細!!

    虛擬機里找不到adb設備怎么辦

    虛擬機里找不到adb設備
    的頭像 發表于 10-13 18:45 ?2645次閱讀

    multisim找不到元件怎么辦

    問題以及如何解決它。 Multisim 找不到元件的原因 在使用 Multisim 時,可能會遇到找不到元件的情況。這可能是由于以下原因導致的: 1.1 軟件版本問題:不同版本的 Multisim 中可能包含不同的元件。如果您
    的頭像 發表于 02-23 15:44 ?1.1w次閱讀
    主站蜘蛛池模板: 亚洲精品视频区 | 色视频2 | 国产三级日本三级韩国三级在线观看 | 色色色色色色色色色色色色色色 | 国产毛片农村妇女系列 | 美女国产在线观看免费观看 | 九九九国产在线 | 夜夜摸夜夜爽 | 亚洲啪啪看看 | 四虎电影院 | 国产高清小视频 | 午夜神马福利 | 日日日天天射天天干视频 | 精品少妇一区二区三区视频 | 日本在线一区 | 七月色婷婷 | 天天操天天干天天摸 | 澳门久久精品 | 在线免费观看色视频 | 在线看视频你懂的 | 成人午夜免费剧场 | 人人干国产 | 美女网站在线观看视频18 | 黄频网站免费大全在线观看 | 国产成人精品视频一区二区不卡 | 天天爱添天天爱添天天爱添 | 天天操天天操天天干 | 午夜免费视频 | 综合爱| 播放欧亚一级特黄录像 | 业余性自由色xxxx视频 | 欧美熟色妇 | 丁香婷婷综合网 | 午夜精品视频在线观看 | 亚洲天天综合 | 亚洲视频一区 | 免费香蕉视频国产在线看 | 在线女同免费观看网站 | 国产亚洲综合精品一区二区三区 | 欧美日韩国产在线一区 | 色婷婷激情五月综合 |