该死的链接器错误XCode 4.3--解决它们的算法?

该死的链接器错误XCode 4.3--解决它们的算法?,xcode,linker-errors,undefined-symbol,Xcode,Linker Errors,Undefined Symbol,架构i386的未定义符号: “_OBJC_CLASS_$_AppDelegate_Shared”,引用自: _AppDelegate\u iPad.o中的OBJC\u类\uu$\u AppDelegate\u iPad “\u OBJC\u元类\u$\ u AppDelegate\u共享”,引用自: _在AppDelegate\u iPad.o ld:symbol中找不到架构i386的OBJC\u元类\u$\ u AppDelegate\u iPad clang:error:linker命令 失

架构i386的未定义符号:
“_OBJC_CLASS_$_AppDelegate_Shared”,引用自: _AppDelegate\u iPad.o中的OBJC\u类\uu$\u AppDelegate\u iPad “\u OBJC\u元类\u$\ u AppDelegate\u共享”,引用自: _在AppDelegate\u iPad.o ld:symbol中找不到架构i386的OBJC\u元类\u$\ u AppDelegate\u iPad clang:error:linker命令 失败,退出代码为1(使用-v查看调用)


您好,这是一个直接的AppDelegate,我收到了这个错误。有什么想法吗?没有可链接的库或任何东西。我在XCode中一次又一次地看到这些错误,但其原因从libxml2库不正确(需要libxml2.7.3)到XCode本身的一些奇怪之处。不知道下一步要做什么,但显然希望程序能够编译。谢谢

这里也一样。谢谢你的回答

我刚刚(30秒前)把文件拖了进来。 我在其他项目中使用了相同的文件,没有问题。 获取此链接器错误(昨天更新为XCode 4.3) 同样的问题是,检查了.m文件的测试目标成员身份,但没有检查应用程序目标

可能是一个4.3错误。它似乎默认为将拖入文件添加到测试构建中,而不是应用构建中


谢谢。。。你帮我很快找到了。我并不期待那件事。

这里也一样。谢谢你的回答

我刚刚(30秒前)把文件拖了进来。 我在其他项目中使用了相同的文件,没有问题。 获取此链接器错误(昨天更新为XCode 4.3) 同样的问题是,检查了.m文件的测试目标成员身份,但没有检查应用程序目标

可能是一个4.3错误。它似乎默认为将拖入文件添加到测试构建中,而不是应用构建中


谢谢。。。你帮我很快找到了。我并不期待这一点。

我花了两周时间调试了一次链接器错误。我讨厌他们。谢谢,让我感觉好多了。我在过去已经用了一周的时间,解决方案完全是随机的。我的结果是写错了==运算符。正在生成低/高不匹配的内容。必须以不同的优化级别编译118.o文件,然后运行脚本尝试链接除一个以外的所有未优化文件,并报告失败。然后注释文件的一半,编译,注释另一半,编译,注释四分之一。。。等等,把它缩小到冒犯性的陈述。然后,我必须弄清楚为什么这种与NULL的无害比较会导致链接器错误。邪恶,邪恶,邪恶。甚至在某一点上查看了ld的源代码!这个例子的解决方案是,由于某种原因,AppDelegate_shared.m不在目标的编译源代码中。我百分之百地责怪XCode。100%. 我将AppDelegate拖到项目中,但它仍然没有添加到编译源代码列表中。这应该自动发生。其他人也会有这个问题。因此,点击你的目标(转到你的项目图标,通常用你的应用图标来寻找你的目标。点击一次。然后寻找构建阶段,你会看到编译源代码。添加你的“缺失”.m文件,至少这对我有用。噢。讨厌。好吧,把你的评论写下来作为答案,然后在计时器允许你这么做后接受。我花了两周时间调试了一个链接器错误。我讨厌他们。谢谢,让我感觉好多了。我过去已经花了一周时间,解决方案完全是随机的。我的结果是一个错误正确写入==运算符。正在生成不匹配的低/高值。必须编译具有不同优化级别的118.o文件,然后运行脚本尝试链接除一个以外的所有未优化文件并报告失败。然后对文件的一半进行注释、编译、注释另一半、编译、注释四分之一…等,以将其缩小到关闭结束语句。然后我必须弄清楚为什么这个无害的与NULL的比较会导致链接器错误。邪恶,邪恶,邪恶。甚至有一次查看了ld的源代码!好吧,本例的解决方案是,AppDelegate_shared.m由于某种原因不在目标的编译源代码中。我100%完全责怪XCode。100%。我拖了进去我的AppDelegate已添加到项目中,但它仍然没有添加到“编译源代码”列表中。这应该会自动发生。其他人也会遇到此问题。因此,请单击您的目标(转到你的项目图标,通常用你的应用图标来寻找你的目标。点击一次。然后查找构建阶段,你会看到编译源代码。在那里添加你的“缺少的”.m文件,至少这对我有用。哦。讨厌。好吧,把你的评论写出来作为答案,然后在计时器允许你这么做后接受它。