[問題] shared library

看板C_and_CPP (C/C++)作者 (JSL)時間12年前 (2013/11/24 09:05), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Ubuntu 13.04 / gcc, g++ Mac OS X 10.9 / clang, clang++ 問題(Question): 請問一個程式會使用的shared library的路徑是怎麼決定的? 我用ldd看到的path是compile time時根據我的link path決定 還是runtime時根據某個path內的order或/etc/ld.so.conf內的order決定? 因為macbook air有些軟體是安裝高過預設的版本(像python) 那可能/usr/lib和/usr/local/lib都存放有相同的library 不知道執行檔會不會找錯?當然用一些library去編譯別的東東滿常找錯的= =" 還是說我多慮了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.80.42

11/24 10:58, , 1F
Linux 的話 man ld.so 會有不少說明
11/24 10:58, 1F

11/29 20:39, , 2F
看你編譯的時候有讓他依賴什麼so檔吧
11/29 20:39, 2F

11/29 20:40, , 3F
接著就看LD_LIBRARY_PATH所指的路徑內是否能看見
11/29 20:40, 3F
文章代碼(AID): #1IaL3KmI (C_and_CPP)
文章代碼(AID): #1IaL3KmI (C_and_CPP)