2012-03-25 62 views
0

我有一個庫(flam3),它取決於來自unix(xml2,jpeg,png,z)的一些實用程序庫,我正試圖在使用它的Lion上創建一個應用程序。我正在用最新的Xcode構建,當我嘗試鏈接fink,macports和自制軟件庫時,出現同樣的錯誤:沒有fink macports和自制軟件對獅子有用嗎?

ld:warning:忽略文件/opt/local/lib/libxml2.a,文件建 歸檔這是不被連接的架構(I386)

和圖書館看看不同那些工作:

的bash-3.2 $文件/sw/lib/libxml2.a /SW /lib/libxml2.a:當前的ar檔案隨機庫

通過比較

的bash-3.2 $文件〜/文檔/ FLAM3/libflam3.a /Users/spot/Documents/FLAM3/libflam3.a:Mach-O的通用二進制用2個 架構 /用戶/點/文檔/ FLAM3 /libflam3.a(適用於建築x86_64的): 當前AR歸檔隨機庫 /Users/spot/Documents/FLAM3/libflam3.a(用於i386硬件架構): 當前AR歸檔隨機庫

這是圖書館,我用Xcode編譯。

有什麼辦法讓Xcode接受這個庫嗎?有沒有辦法讓fink/macports/homebrew生成一個可以與Xcode一起使用的庫?看起來像我是「做錯了」,因爲如果每個人都有這個問題,這些項目都是毫無用處的......但是我不覺得我做了什麼不尋常的事情。幫幫我?

回答

1

問題是您的libxml2.a沒有構建爲「通用二進制」。即它不包含所有必要的體系結構(在你的情況下,我相信它是i386)。你需要問fink,macports或homebrew來建立/下載/安裝所有必要的平臺庫。我知道macports有這樣的標誌(我不記得它是如何叫的)。 「文件」命令僅在文件具有三重通用(包含ppc,i386和x86_64中的兩個或多個)時列出.a文件的所有可用體系結構,否則它僅顯示vanilla「ar archive ...」消息。這證實你的libxml2.a只有一個架構。

問題不在於Xcode或Lion。 Lion上的默認鏈接體系結構可能已更改。

相關問題