建站學院(LieHuo.Net)Linux文檔 眾所周知,Linux動態庫的默認搜索路徑是/lib和/usr/lib。動態庫被創建后,一般都復制到這兩個目錄中。當程序執行時需要某動態庫,并且該 動態庫還未加載到內存中,則系統會自動到這兩個默認搜索路徑中去查找相應的動態庫文件,然后加載該文件到內存中,這樣程序就可以使用該動態庫中的函數,以及該動態庫的其它資源了。在Linux 中,動態庫的搜索路徑除了默認的搜索路徑外,還可以通過以下三種方法來指定。
方法一:在配置文件/etc/ld.so.conf中指定動態庫搜索路徑。
可以通過編輯配置文件/etc/ld.so.conf來指定動態庫的搜索路徑,該文件中每行為一個動態庫搜索路徑。每次編輯完該文件后,都必須運行命令ldconfig使修改后的配置生效。我們通過例1來說明該方法。
例1:
我們通過以下命令用源程序pos_conf.c(見程序1)來創建動態庫 libpos.so,詳細創建過程請參考文[1]。
# gcc -c pos_conf.c #include <stdio.h> |
接著通過以下命令編譯main.c(見程序2)生成目標程序pos。
# gcc -o pos main.c -L. -lpos void pos(); |
然后把庫文件移動到目錄/root/test/conf/lib中。
# mkdir -p /root/test/conf/lib # mv libpos.so /root/test/conf/lib # |
最后編輯配置文件/etc/ld.so.conf,在該文件中追加一行"/root/test/conf/lib"。