我已将我的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
错误似乎是一些编译器错误,但无法搞清楚。:( 我用谷歌搜索但没有运气。 请提出一些解决方案。
答案 0 :(得分:0)
看起来链接器正在寻找一个起始函数作为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的手册页。
答案 1 :(得分:0)
第一个错误意味着Xcode 4.2中的链接器(ld)遇到了不再受支持的选项(-A)。
如果您不再需要在Xcode 3.2.6中构建相同的Xcode项目,那么
您的第二个错误可能是由于Xcode 4.2默认为未安装Xcode项目的armv7构建体系结构(因为它是使用Xcode 3.2.6构建的)。如果需要为armv6构建二进制文件,请将其添加到构建体系结构列表中。
答案 2 :(得分:0)
检查您是否使用以下标志,这将导致该错误-nostdlib
和-noconfig
。
答案 3 :(得分:0)
我能够通过更新项目目标>构建设置中的“ iOS开发目标”来解决此问题