2011-12-09 180 views
0

我得到這個錯誤,而試圖建立的iPhone模擬器:項目不適用於iphone模擬器。

d: warning: ignoring file /users/salehshah/SmartSwipe/libANMobilePaymentLib.a, file was built for archive which is not the architecture being linked (i386) Undefined symbols for architecture i386: 

請注意,我使用的Xcode 4.2與iOS 5.項目構建並運行在設備上的罰款。我認爲在鏈接靜態庫時存在一些問題。可能是這個架構存在問題。

回答

2

您正在鏈接的靜態庫未針對模擬器進行編譯。如果這是一個預編譯的庫,你會想創建一個版本,其中包括所有三種iOS架構armv6 armv7和i386。你可以通過自己編譯每個單獨的體系結構,然後使用lipo將它們鏈接在一起,參見man lipo

如果另一方面編譯庫作爲應用程序目標的依賴關係,則生成設置有些問題。看看庫的構建設置,即ARCHSVALID_ARCHS

+0

它也在模擬器上運行良好。突然它停止運行,我沒有改變任何項目設置等。 – Saleh

+0

因此,如果你沒有改變任何東西,就沒有必要看看這些設置。你可能被宇宙射線擊中。 ;-)在構建完成後查看日誌導航器(Cmd-7)。圖書館建成了嗎?它是否爲正確的架構而建造(即i386)? – tonklon

+0

它給出了這個警告:文件是爲存檔而構建的,而不是被鏈接的體系結構(i386) – Saleh

相關問題