在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則可以替代上述方法,加載新安裝的動態庫。