14

我正在处理我的项目,在编辑代码和编译后突然出现了这个错误:

ld:警告:找不到选项“
-L/Users/mani/Documents/Classes/Twitter+OAuth/Libraries & Headers”的目录 ld:/Users/mani/Library/Developer/Xcode/DerivedData/ 中的重复符号 _OBJC_CLASS_$_playSiew 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 中取出了最后修改的代码,但我仍然得到了同样的错误。

4

21 回答 21

27

您可能不小心#import使用了 .m 文件而不是 .h。使用 Cmd+Shift+F 并搜索“.m”(不带引号)。它很可能属于警告中提到的类别之一。如果没有,请清理并再次运行。

于 2012-05-30T06:49:18.170 回答
22

我也有同样的问题,我做了以下,问题就消失了。

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

我希望它可能对其他一些开发人员有用。

于 2015-07-01T08:59:52.083 回答
7

几分钟前遇到这个问题后(是的,我知道距离原来的线程已经 7 个月了)我发现我的问题的根源是由于我在 XCode 中将文件拖放到我的项目中而不是右键单击和选择将文件添加到项目。

于 2013-01-02T14:24:56.097 回答
4

检查 playSiew.m 在编译源部分。不是吗?

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

  1. 选择您的项目名称
  2. 选择目标
  3. 选择构建阶段

如果本节中没有 playSiew.m 。您必须将其添加到此部分。

于 2012-05-30T06:55:10.713 回答
4

正如我所说,问题不在于代码,而在于一些设置。所以我所做的是从我朋友的 Mac 上复制代码(它工作正常),并将该项目的新副本安装到我的 Mac 上。有效。

于 2012-05-30T09:30:16.797 回答
3

我在一个测试用例中导入了一个库,我在我的pod 文件中为主要目标指定了一个库,但没有为测试目标指定。

于 2017-05-04T22:46:41.967 回答
2

我也收到了这个错误,因为我不小心包含了同一个源文件的两个版本。删错了,问题就解决了……

于 2015-10-06T18:50:03.090 回答
2

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

于 2017-04-11T13:23:14.587 回答
1

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

于 2015-04-04T09:43:43.757 回答
0

我面临同样的错误。所以,我刚刚删除了那些产生错误的类的引用,然后再次给出了引用,错误就消失了......

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

于 2014-11-13T11:17:42.267 回答
0

万一这对其他人有用——我只是遇到了同样的错误,结果发现原因是在我的头文件而不是主文件中初始化了一个变量。

于 2015-06-10T17:43:33.407 回答
0

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

于 2015-09-24T12:20:51.147 回答
0

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

于 2016-01-11T14:33:03.977 回答
0

我们可以在我们的项目中克服这个错误的唯一方法是进行清理,然后为 iPad Retina 构建。之后,它将为任何设备成功构建。奇怪的。

于 2017-01-28T00:14:38.883 回答
0

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

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

于 2017-05-05T12:49:42.477 回答
0

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

于 2017-06-03T23:30:58.567 回答
0

试试这个,去Target -> Build Settings,然后搜索这三个如下,

GCC_NO_COMMON_BLOCKS,

CLANG_WARN_INFINITE_RECURSION,

CLANG_WARN_SUSPICIOUS_MOVE,

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

于 2017-06-27T13:15:28.597 回答
0

我尝试了列出的几个答案,但没有一个对我有用。更新 XCode 后出现错误(虽然它仍处于打开状态,这可能导致了问题)

首先,我删除了我的 Derived Data 文件夹:XCode => Preferences => Locations => 双击指示 Derived Data 文件夹所在位置的路径旁边的箭头。然后“移至垃圾箱”我不认为这是问题所在,但令人惊讶的是,有多少次这对我处理不同的问题来说是个问题。

其次,我“退出”模拟器。

第三,我“退出”XCode。

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

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

于 2017-07-20T18:33:26.910 回答
0

清理项目对我不起作用。重新启动 Xcode 对我有用...

于 2017-08-10T18:37:03.543 回答
0

对我来说是不同的。当我删除一个 Pod 并通过从Build Settings中的Other Linker Flags中删除这个 pod 来解决它时,我遇到了同样的错误

在此处输入图像描述

然后清理你的项目 [Product > Clean] 并重建

于 2018-04-23T11:56:35.697 回答
-2

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

在此处输入图像描述

于 2017-07-06T12:55:16.740 回答