2012-07-19 88 views
24

我在编译时有错误。似乎很奇怪。它用作详细视图应用程序,但使用单个视图似乎不起作用。 这是错误的详细信息:链接器命令错误:为体系结构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) 
+0

正在使用Xcode 4.3? – 2012-07-19 05:47:07

回答

57

请尝试以下步骤:

  1. XCode中打开您的项目。

  2. 在XCode的左侧窗口/面板中,在顶部点击您的项目名称。

  3. 现在从XCode的右侧面板中选择目标。

  4. 从右侧面板顶部选择构建阶段。 (这里其他选项是Build Settings,Build Rules)

  5. 在同一面板中打开“编译源码”,这里查看:是否列出所有文件(.m)?如果不是所有的文件,单击(+)号在底部添加(.m)文件,这是不是在名单

  6. 根据你的错误似乎RssXmlParser不存在,加上这个和编译一次

现在它会正常工作。

+0

这个工作适用于什么版本的X-Code?我似乎无法在右侧找到Target ... – 2014-02-22 02:48:28

+1

@CameronTarbell在XCode 5.1中,它看起来像这样:http://i.imgur.com/G7OCboX.png – Glide 2014-04-13 06:05:50

+0

@iOSTest我遇到了同样的问题。不过,我想知道为什么会发生这种情况。 – Glide 2014-04-13 06:06:46

0

我解决了同样的问题,因为我创建了组件作为单独的项目。将文件夹添加到主项目后,我忘记从导入的组件组目录中删除.plist,.string和extra main.m文件。

删除这些解决我的问题,因为该应用程序明显获得冲突构建命令......

0

我遇到这个错误是由于重复的文件名(我已通过编辑菜单中的核心数据自动创建的NSManagedObjectContext子类)。

随着XCODE 5.0的,只是退出并重新启动和Xcode中应该认识到这一点,并为您解决问题,如果你在左侧窗格

2

在我的情况下点击黄色预警,我错误地创建了一个新的子类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 

链接器错误是固定的。

13

我意识到我不得不使用.xcworkspace文件而不是.xcodeproj文件。

+1

哇,我现在觉得很愚蠢。 – Machado 2016-10-28 18:20:15

+0

哦,我的天啊。它的工作......但为什么? – Fomentia 2016-11-25 21:51:45

+0

这对我来说很好,但我也想知道为什么。任何解释? – Phantomazi 2017-05-14 16:04:58

0

在Xcode 6.4上发生了类似的错误。看起来像一个Xcode错误。

我的修复方法是转到导致错误的“.o”文件,取消选中并重新检查所需的目标成员资格。

7

产品 - >然后清洁产品 - >运行:)

0

我认为这可能是您试图在一个项目中创建两个不同的.C文件(主要功能)。 C只允许你每个项目都有一个主入口。

26

没有看到任何提示去终端并转到该项目的目录,然后运行

xcodebuild -verbose

看到详细的错误,只是读取错误有很大帮助的时候

+0

这不完全是一个答案,但仍然这个+选定的答案帮助我解决了我的问题!就个人而言,我在.m文件列表中有两个插件.m文件(用于相同目的)。我删除了一个并重新构建,解决了问题。 – 2017-07-05 20:25:16

0

我不知道它是如何工作的,但我只是关闭了Xcode并通过单击xcworkspace文件再次打开并为我工作。你可以试试希望这可以解决你的问题,谢谢。

0

按住ALT键。 在顶部工具栏去

产品>干净生成文件夹

出版社“干净生成文件夹”,等待它来建立和运行。 它应该解决构建文件中的任何错误。

相关问题