Linux源代碼編譯軟件及PKG_CONFIG_PATH、LD_LIBRARY_PATH、/etc/ld.so.conf、ldconfig

Linux源碼編譯過程如下圖所示:

  源代碼編譯流程 

                                                                                                                                                                             ,將glib-2.x.x裝到了/usr/local/下,那麼glib-2.0.pc就會在/usr/local/lib/pkgconfig下,將這個路徑添加到PKG_CONFIG_PATH下就可以啦。

(2) /etc/ld.so.conf & ldconfig & LD_LIBRARY_PATH,  /etc/ld.so.conf記錄了編譯時使用動態鏈接庫的路徑,默認情況下,編譯器只會使用/lib、/usr/lib下的庫。如果你安裝了某些庫,比如在安裝gtk+-2.4.13時它會需要glib-2.0 >= 2.4.0,辛苦的安裝好glib後沒有指定 --prefix=/usr 這樣glib庫就裝到了/usr/local下,而又沒有在/etc/ld.so.conf中添加/usr/local/lib這個搜索路徑,所以編譯gtk+-2.4.13就會出錯了,直接將/usr/local/lib添加到/etc/ld.so.conf中即可。如果不想修改/etc/ld.so.conf配置文件,可以通過LD_LIBRARY_PATH環境變量設置鏈接庫的路徑。    ldconfig有什麼作用呢?ldconfig將ld.so.conf配置文件中的配置轉換到ld.so.cache中,因爲編譯時查看ld.so.cache配置文件中是否存在相應的庫,而不是查看ld.so.conf文件中,ldconfig可在任意目錄下直接運行。位於sbin/ldconfig

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章