Xcode Obj-C 无法打开输出文件进行写入,对于架构 x86_64,errno=21

问题描述 投票:0回答:3

首先,我正在从事的项目是用 Objective-C 编写的,我使用 XCode 8.3.2。

当我想在调试模式下运行我的应用程序时,我没有任何问题,它可以在模拟器和真实设备上运行。

但是当我尝试在发布模式下运行应用程序时,出现两个错误:

ld: can't open output file for writing: /Users/rr/Library/Developer/Xcode/DerivedData/LehrerApp-abwqpnehycsrglaplrxtulrrlplf/Build/Intermediates/LehrerApp.build/Release-iphonesimulator/LehrerApp.build/Objects-normal/x86_64/LehrerApp, errno=21 for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我知道这里已经有一些答案,但它们没有帮助。 我尝试了以下方法:

  • 删除派生数据、清理、清理文件夹、构建等
  • 在我的 Info.plist 中没有设置“架构优先级”
  • 将“仅构建活动架构”设置为“否”

我的构建设置如下所示:

  • 架构:标准架构(arm7、arm64)
  • 有效架构:arm64 arm7 armv7s

我不知道更多了。请帮帮我,我能做什么?

ios xcode linker-errors
3个回答
3
投票

如果您在子文件夹中添加根(文件夹/文件),可能会出现此错误。因此,就我而言,我需要将图像添加到图像文件夹中。但我没有添加图像,而是添加了项目文件夹中存在的所有文件。搞了半天,发现项目结构有问题。因此,我删除了重复文件的引用,现在这个错误不再存在了。我希望这可以帮助某人。


1
投票

如果您的可执行文件以同一目录中的当前文件之一命名,也可能会发生这种情况。


0
投票

确保您的文件与该目录中的文件夹名称不同。

© www.soinside.com 2019 - 2024. All rights reserved.