我已将我的xcode升级到4.2(使用雪豹)。之前我正在使用Xcode 3.2.6并且我的项目使用它成功构建。现在我无法构建它,而是Xcode发出以下错误
ld: warning: option -A is obsolete and being ignored
ld: entry point (start) undefined. Usually in crt1.o for architecture armv7
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang failed with exit code 1
错误似乎是一些编译器错误,但无法搞清楚。:(我google了它但没有运气。请建议一些解决方案。
看起来链接器正在寻找一个启动函数作为crt1中的入口点,但没有找到它。您可以尝试添加链接器标志,
-e symbol_name Specifies the entry point of a main executable. By default the entry name is "start" which is found in crt1.o which contains the glue code need to set up and call main().
来自ld的手册页。
第一个错误意味着Xcode 4.2中的链接器(ld)遇到了不再支持的选项(-A)。
如果您不再需要在Xcode 3.2.6中构建相同的Xcode项目
您的第二个错误可能是由Xcode 4.2默认为未安装Xcode项目的armv7构建体系结构引起的(因为它是使用Xcode 3.2.6构建的)。如果需要为armv6构建二进制文件,请将其添加到构建体系结构列表中。
检查您是否使用以下标志,它将导致该错误-nostdlib
和-noconfig
。
我能够通过在项目的目标>构建设置中更新“iOS开发目标”来解决此问题