解決Linux動態鏈接庫的無法加載問題

在Linux環境下,根據第三方提供的動態鏈接庫和API利用C語言進行開發,編譯鏈接通過後,當運行時報錯說無法加載動態鏈接庫例如:


疑問就來了,動態鏈接庫我使用的全路徑(例如:/home/cyren/src/lib/libaivse000.so.5  ),文件明明在指定的目錄,卻就是無法使用,

於是通過命令 /sbin/ldconf  -v |  grep  "libaivse000"  查看是否系統有加載該庫,發現果然沒有,例如:


解決方法:

在/etc/ld.so.conf文件中添加路勁,vi /etc/ld.so.conf 打開該文件添加路徑,如下:


添加完成後:x或:wq保存退出,然後重新加載動態鏈接庫並獲取是否加載了libaivse000.so.5,如下:


這樣第三方的動態鏈接庫手動修改加載完成,重新編譯鏈接程序後,測試通過。

本人使用的事centos系統,一開始將動態鏈接庫添加到/usr/local/lib目錄下,就出現了上述的問題,通過網上查找發現系統指定的動態鏈接庫路徑

有所不同,於是就有了上述的方法,記錄下來以防遺忘。


補:ldconfig則可以替代上述方法,加載新安裝的動態庫。

發佈了30 篇原創文章 · 獲贊 7 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章