Linux 運行的時候,是如何管理共享庫(*.so)的?在 Linux 下面,共享庫的尋找和加載是由 /lib/ld.so 實現的。 ld.so 在標准路經(/lib, /usr/lib) 中尋找應用程序用到的共享庫。
但是,如果需要用到的共享庫在非標准路經,ld.so 怎麼找到它呢?
目前,Linux 通用的做法是將非標准路經加入 /etc/ld.so.conf,然後運行 ldconfig 生成 /etc/ld.so.cache。 ld.so 加載共享庫的時候,會從 ld.so.cache 查找。
傳 統上, Linux 的先輩 Unix 還有一個環境變量 - LD_LIBRARY_PATH 來處理非標准路經的共享庫。ld.so 加載共享庫的時候,也會查找這個變量所設置的路經。但是,有不少聲音主張要避免使用 LD_LIBRARY_PATH 變量,尤其是作為全局變量。
ctrl+l 刷新
setenv 設置環境變量