我已經安裝了XCode,但由於某些原因,在/ usr/local/lib目錄是不是包含在默認的庫搜索路徑:在mac os x上使/ usr/local/lib成爲ld的默認庫搜索路徑?
gcc -Xlinker -v
給我:
@(#)PROGRAM:ld PROJECT:ld64-224.1
configured to support archs: armv6 armv7 armv7s arm64 i386 x86_64 armv6m armv7m armv7em
Library search paths:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib
Framework search paths:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/
這是不幸的,因爲/usr/local/lib
是一個相當規範的安裝庫的位置,並且mac os x
上沒有/etc/ld.so.conf
+ ldconfig
修改默認庫搜索路徑。因此,如果不使用-L/usr/local/lib
,則會導致鏈接器錯誤。除了設置環境變量DYLD_LIBRARY_PATH
還有其他的非運行時選項嗎?
編輯:設置DYLD_LIBRARY_PATH
env變量對我沒有幫助。我不得不設置LIBRARY_PATH
env變量,而是能夠鏈接在/usr/local/lib
下安裝的庫與gcc
。
是否有這個安裝XCode
時的選項? (這是一個工作電腦,沒有安裝它自己)
沒有選項時,我安裝的Xcode,我所看到的。此外,無論是'DYLD_LIBRARY_PATH'也不'LIBRARY_PATH'也不'LD_LIBRARY_PATH'所見[這裏](http://stackoverflow.com/questions/17889799/libraries-in-usr-local-lib-not-found)爲我工作。仍在尋找解決方案。 – 2015-03-11 04:14:35
'gcc -Xlinker -v'給你什麼?我將此添加到我的'〜/ .bash_profile':'如果[-z 「$ {} LIBRARY_PATH」]#\ n 然後#\ n 出口LIBRARY_PATH = 「/ usr/lib中:在/ usr/local/lib目錄」 # \ n 別的#\ n 出口LIBRARY_PATH = 「LIBRARY_PATH:/ usr/lib中:在/ usr/local/lib目錄」 #\ n fi'(表示換行以'#\ N')。在此之後,'GCC -Xlinker -v'還列出了'在/ usr /本地/ lib'(打開新的終端窗口'.bash_profile'生效) – 2015-03-12 05:32:01
'GCC -Xlinker -v @(#)計劃:LD項目:ld64-241。9 配置爲支持archs:用於ARMv6 ARMv7的armv7s arm64 I386 x86_64的x86_64h armv6m armv7m armv7em 庫搜索路徑: \t/usr/lib中 \t的/ usr /本地/ lib中 框架搜索路徑: \t /庫/框架/ \t /系統/資源庫/框架/ 用於建築x86_64的未定義符號: 「_main」,從引用: 隱含進入/啓動主可執行 LD:符號(S)沒有發現建築x86_64的 鐺:錯誤:連接命令失敗退出代碼1(使用-v查看調用)' – 2015-03-12 07:54:31