链接器命令失败,Xcode项目中出现退出代码1错误

时间:2012-05-30 06:27:25

标签: iphone objective-c ios xcode

我正在处理我的项目,并在编辑代码后突然编译并发出此错误:

  

ld:警告:找不到选项' - 的目录   L / Users / mani / Documents / Classes / Twitter + OAuth / Libraries&标题'ld:   重复符号_OBJC_CLASS _ $ _ playSiew in   /Users/mani/Library/Developer/Xcode/DerivedData/learn-aktrtiwswclovoatyweyquoxmypa/Build/Intermediates/learn.build/Debug-iphonesimulator/learn.build/Objects-normal/i386/playSiew.o   和   /Users/mani/Library/Developer/Xcode/DerivedData/learn-aktrtiwswclovoatyweyquoxmypa/Build/Intermediates/learn.build/Debug-iphonesimulator/learn.build/Objects-normal/i386/Thumb.o   对于体系结构i386 clang:错误:链接器命令失败并退出   代码1(使用-v查看调用)

我从未触及过项目设置,只是编辑了代码。

更奇怪的是我从svn中取出了最后修改过的代码,但我仍然遇到了同样的错误。

20 个答案:

答案 0 :(得分:27)

您可能会意外地#import使用.m文件而不是.h。使用Cmd + Shift + F并搜索“.m”(不带引号)。它很可能位于警告中提到的一个类中。如果没有,请清洁并再次运行。

答案 1 :(得分:22)

我也有同样的问题,我做了跟随,问题就消失了。

转到产品 - > 清理并重新运行该项目。

我希望它对其他一些开发者有用。

答案 2 :(得分:7)

几分钟前遇到这个问题(是的,我知道自原始帖子开始已有7个月)我发现问题的根源是由于我的拖延和将文件放入XCode中的项目而不是右键单击并选择“将文件添加到项目”。

答案 3 :(得分:4)

检查playSiew.m是否在Compile Sources部分。不是吗?

您可以按照此步骤找到“编译源”部分

  1. 选择YourProjectName
  2. 选择TARGETS
  3. 选择构建阶段
  4. 如果本节中没有playSiew.m。您必须将其添加到此部分。

答案 4 :(得分:3)

正如我所说,问题不是代码而是一些设置。所以我所做的就是从朋友的Mac上复制代码(它运行正常),并将新项目的副本安装到我的Mac上。它奏效了。

答案 5 :(得分:3)

我在测试用例中导入,我在 pod文件中为主要目标指定了测试目标

答案 6 :(得分:2)

我也遇到了这个错误,因为我不小心包含了同一源文件的两个版本。删除了错误的一个,问题就消失了......

答案 7 :(得分:2)

如果您在Unity中工作并导出到iOS并且您正在使用插件,请转到Xcode Build Settings并设置ENABLE BITCODE = NO。我猜这可能也适用于其他情况

答案 8 :(得分:1)

面对类似的问题,在模拟器上运行代码时,尝试了上面提到的所有选项,仍然遇到了同样的错误。尝试连接iOS设备并构建代码,它对我们有用。这可以是一个快速的解决方法。

答案 9 :(得分:0)

对我而言,情况有所不同。当我删除Pod并通过从构建设置 中的其他链接标记中删除此pod来解决此问题时,我遇到了同样的错误

enter image description here

然后清理你的项目[产品>清洁]并重建

答案 10 :(得分:0)

我尝试了几个列出的答案,但没有一个适合我。 更新XCode后我得到了错误(当它仍然打开时可能导致了问题)

首先,我删除了Derived Data文件夹: XCode =>首选项=>地点=>双击路径旁边的箭头,指示Derived Data文件夹的位置。 然后“移动到垃圾桶” 我不认为这就是问题所在,但令人惊讶的是,对于我处理不同问题,这是多少次问题。

第二次,我'退出'模拟器。

第三次,我'退出'XCode。

第四次,我再次在XCode中打开了我的项目,然后进行了清理和构建(在产品菜单中找到)

第五,我运行了我的项目并且运行良好

答案 11 :(得分:0)

试试这个,转到Target - >构建设置,然后按以下方式搜索这三个,

GCC_NO_COMMON_BLOCKS,

CLANG_WARN_INFINITE_RECURSION,

CLANG_WARN_SUSPICIOUS_MOVE,

为每个值设置NO,然后清理并构建。

答案 12 :(得分:0)

如果您在使用CoreData生成的类时遇到这种情况,请将+ CoreDataProperties和+ CoreDataClass组合到+ CoreDataProperties类中并删除+ CoreDataClass。确保在Derived Data中搜索+ CoreDataClass的剩余部分。即使在删除派生数据和清理后,我有时也会让Xcode一次又一次地生成+ CoreDataClass。在Finder中手动删除它然后重新建立帮助我解决了这个问题。

答案 13 :(得分:0)

在我的情况下,我添加了FacebookLoginSDK框架的引用,但忘记在构建设置中提供搜索路径。删除它的参考后一切都很好。

所以结论是,如果你要添加任何外部框架要小心。

答案 14 :(得分:0)

我们在项目中遇到这个错误的唯一方法就是为iPad Retina做一个Clean然后构建。之后,它将成功构建任何设备。怪异。

答案 15 :(得分:0)

您只需要添加以下框架:quartzcore.framework

答案 16 :(得分:0)

我刚遇到同样的错误。如果您使用的是嵌入式库,请确保部署目标设置为iOS 8.0或更高版本。

答案 17 :(得分:0)

如果这对其他人有用 - 我只是遇到了同样的错误,原因是我的头文件而不是主文件中的变量初始化。

答案 18 :(得分:0)

我面临的同样错误。所以,我刚刚删除了那些产生错误的类的引用,而不是再次提供引用,错误就消失了......

D80Buckeye所说应该存在拖放文件的问题,而不是单击“添加文件”

答案 19 :(得分:-2)

转到xcode中的常规和链接框架和库,并删除那里的所有文件。

enter image description here