链接器命令错误:为体系结构i386找不到'ld:symbol(s)'
我在编译时有错误。似乎很奇怪。它用作详细视图应用程序,但使用单个视图似乎不起作用。 这是错误的详细信息:链接器命令错误:为体系结构i386找不到'ld:symbol(s)'
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_RssArticle", referenced from:
objc-class-ref in RssXmlParser.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
请尝试以下步骤:
XCode中打开您的项目。
在XCode的左侧窗口/面板中,在顶部点击您的项目名称。
现在从XCode的右侧面板中选择目标。
从右侧面板顶部选择构建阶段。 (这里其他选项是Build Settings,Build Rules)
在同一面板中打开“编译源码”,这里查看:是否列出所有文件(
.m
)?如果不是所有的文件,单击(+)号在底部添加(.m
)文件,这是不是在名单根据你的错误似乎RssXmlParser不存在,加上这个和编译一次
现在它会正常工作。
我解决了同样的问题,因为我创建了组件作为单独的项目。将文件夹添加到主项目后,我忘记从导入的组件组目录中删除.plist,.string和extra main.m文件。
删除这些解决我的问题,因为该应用程序明显获得冲突构建命令......
我遇到这个错误是由于重复的文件名(我已通过编辑菜单中的核心数据自动创建的NSManagedObjectContext子类)。
随着XCODE 5.0的,只是退出并重新启动和Xcode中应该认识到这一点,并为您解决问题,如果你在左侧窗格
在我的情况下点击黄色预警,我错误地创建了一个新的子类UIView
与.h
和.c
文件而不是.h
和.m
文件。更改扩展很容易,但我不认为要更改.m
文件的内容。所以我.h
文件有
#ifndef My_Project_MPMyView_h
#define My_Project_MPMyView_h
#import <UIKit/UIKit.h>
@interface MPMyView : UIView
@end
#endif
和我.m
文件不正确有
#include <stdio.h>
当我改变了我的.m
文件
@interface MPMyView : UIView
@end
@implementation MPMyView
@end
链接器错误是固定的。
我意识到我不得不使用.xcworkspace文件而不是.xcodeproj文件。
哇,我现在觉得很愚蠢。 – Machado 2016-10-28 18:20:15
哦,我的天啊。它的工作......但为什么? – Fomentia 2016-11-25 21:51:45
这对我来说很好,但我也想知道为什么。任何解释? – Phantomazi 2017-05-14 16:04:58
在Xcode 6.4上发生了类似的错误。看起来像一个Xcode错误。
我的修复方法是转到导致错误的“.o”文件,取消选中并重新检查所需的目标成员资格。
产品 - >然后清洁产品 - >运行:)
我认为这可能是您试图在一个项目中创建两个不同的.C文件(主要功能)。 C只允许你每个项目都有一个主入口。
没有看到任何提示去终端并转到该项目的目录,然后运行
xcodebuild -verbose
看到详细的错误,只是读取错误有很大帮助的时候
这不完全是一个答案,但仍然这个+选定的答案帮助我解决了我的问题!就个人而言,我在.m文件列表中有两个插件.m文件(用于相同目的)。我删除了一个并重新构建,解决了问题。 – 2017-07-05 20:25:16
我不知道它是如何工作的,但我只是关闭了Xcode并通过单击xcworkspace文件再次打开并为我工作。你可以试试希望这可以解决你的问题,谢谢。
按住ALT键。 在顶部工具栏去
产品>干净生成文件夹
出版社“干净生成文件夹”,等待它来建立和运行。 它应该解决构建文件中的任何错误。
正在使用Xcode 4.3? – 2012-07-19 05:47:07