建站學院(LieHuo.Net)Linux文檔 眾所周知,Linux動態(tài)庫的默認搜索路徑是/lib和/usr/lib。動態(tài)庫被創(chuàng)建后,一般都復制到這兩個目錄中。當程序執(zhí)行時需要某動態(tài)庫,并且該 動態(tài)庫還未加載到內存中,則系統(tǒng)會自動到這兩個默認搜索路徑中去查找相應的動態(tài)庫文件,然后加載該文件到內存中,這樣程序就可以使用該動態(tài)庫中的函數(shù),以及該動態(tài)庫的其它資源了。在Linux 中,動態(tài)庫的搜索路徑除了默認的搜索路徑外,還可以通過以下三種方法來指定。
方法一:在配置文件/etc/ld.so.conf中指定動態(tài)庫搜索路徑。
可以通過編輯配置文件/etc/ld.so.conf來指定動態(tài)庫的搜索路徑,該文件中每行為一個動態(tài)庫搜索路徑。每次編輯完該文件后,都必須運行命令ldconfig使修改后的配置生效。我們通過例1來說明該方法。
例1:
我們通過以下命令用源程序pos_conf.c(見程序1)來創(chuàng)建動態(tài)庫 libpos.so,詳細創(chuàng)建過程請參考文[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"。