2014-10-01 36 views
2

我經常收到像ld: building for iOS simulator, but linking against dylib built for MacOSX file '/opt/local/lib/libz.dylib' for architecture x86_64...這樣的錯誤。MacPorts和XCode的鏈接器問題

由於MacPorts是幾乎在/opt/local/opt/更名爲/opt_/寫入任何唯一的方案,我的項目運行良好,但仍然給我的錯誤Directory not found for option '-L/opt/local/lib'

我檢查了手冊的ld-L參數基本上告訴鏈接器搜索庫的路徑。我檢查了我的XCode項目,但找不到提及/opt/local/lib/甚至$(something)/lib的任何痕跡。

我還有什麼地方可以刪除圖書館的搜索路徑/opt/local/lib/?或者有什麼地方可以排除搜索中的某些路徑?

順便說一句:我使用的是最新的XCode Beta版6.0(6A313)什麼是您使用來構建這個項目

回答

0

?它是一個Xcode項目嗎?如果是這樣,請檢查目標的構建設置並在搜索字段中搜索「SEARCH_PATHS」。這將轉起來,你可能無意中設置各種構建設置,包括LIBRARY_SEARCH_PATHS,HEADER_SEARCH_PATHS等

你可能只是想用grep你的項目文件「/選擇/」,看看它的未來。

如果您使用cmake或autoconf作爲您的編譯系統,您可能已將LDFLAGS環境變量設置爲包含-L/opt/local/lib

+0

感謝您的提示。儘管我已經徹底檢查了'SEARCH_PATHS'。沒有任何東西指向'/ opt/local/bin'。該項目是使用標準Apple LLVM 6.0構建的iOS項目。 – user3607973 2014-10-01 23:03:49

+0

這並沒有真正迴應我的觀點或問題。什麼是構建系統?你在使用Xcode嗎?至於/ opt/local/bin,這與它無關。有些東西正在將-L/opt/local/lib添加到您的LDFLAGS中。如果您使用Xcode,則通過LIBRARY_SEARCH_FLAGS或OTHER_LINKER_FLAGS進入。正如我的回答中所提到的,我建議您只需在項目文件和關聯的xcconfigs中對/ opt/local進行grep。 – 2014-10-02 02:36:07

+0

也可能是pkg-config?嘗試在構建之前從您的$ PATH中刪除/ opt/local/bin(當然,如果它位於第一個位置)。 – neverpanic 2014-10-02 05:05:17