如何更正“架构i386的未定义符号:”_main“链接问题?

我正在尝试使用由Apple提供的KeyChainitemwrapper。 我的项目是使用ARC,但我已经在KeyChainitemwrapper.m上的ARC。 我将“security.framework”框架链接到我的项目。

我得到这个链接问题:

未定义的符号体系结构i386:“_main”,引用自:crt1.10.6.o中的开始ld:体系结构i386中找不到符号clang:error:链接器命令失败,退出代码1(使用-v查看调用)

我是新来的ios开发,但我的猜测是,这个问题与模拟器试图编译我的源目标i386,而不是arm? 我closures了吗?

无论如何..看来,这个包装是相当受欢迎,所以我想知道如果有人可能熟悉这个问题可以伸出援助之手。

谢谢

这表明你没有在你的项目中编译main.m 确保以下内容:

  • 你的项目中有一个main.m
  • 它有一个名为main()的函数
  • 你实际上正在编译它。 转到您的项目,然后构build阶段,然后编译源代码。 确保main.m在列表中。

当您使用模拟器时,您的代码将被编译为i386架构。 如果你使用真实的设备,你的代码将被编译为arm。

我下载了这个项目,在“其他来源”组里有一个main.c文件。

删除项目中对main.ce的引用为我解决了这个问题