2012-01-29 43 views
6

我想使用由Apple提供的KeyChainitemwrapper。我的項目正在使用ARC,但我已經關閉了KeyChainitemwrapper.m上的ARC。在「security.framework」框架,以我的項目如何更正「未定義的架構i386符號:」_main「鏈接問題?

我得到這個鏈接的問題:

Undefined symbols for architecture i386: "_main", referenced from: start in crt1.10.6.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)

我是新的iOS開發,但我的猜測是,這個問題是與事實做到這一點的模擬器正試圖編譯我的源代碼i386而不是arm?我關閉了嗎?

無論如何..看來這個包裝是相當受歡迎的,所以我想知道是否有人可能熟悉這個問題可以伸出援助之手。

感謝

回答

24

這表明你沒有在你的項目編制main.m。請確保以下事項:

  • 您在項目
  • main.m它有一個功能叫main()
  • 你實際上是在編譯它。轉到您的項目,然後構建階段,然後編譯源代碼。確保main.m在列表中。
+0

感謝您的回覆。我的項目不包含名爲main.m的文件。我也找不到「主」的提法。 – Nick 2012-01-29 00:39:11

+0

你走了。編譯器指出,你沒有'main()'。您應該可以從項目模板重建項目。 – 2012-01-29 00:46:45

+0

我的確從一個項目模板開始。也許我已經禁用了建築物? – Nick 2012-01-29 00:47:39

0

當您使用模擬器時,您的代碼將被編譯爲i386架構。 如果你使用真實的設備,你的代碼將被編譯爲arm。

我下載了這個項目,在「其他來源」組裏有一個main.c文件。

0

刪除項目中對main.ce的引用爲我解決了這個問題

相關問題