【问题标题】:can't link with a main executable file无法与主可执行文件链接
【发布时间】:2014-09-25 06:21:40
【问题描述】:

将我的部署目标从 8.0 更改为 7.0。

使用带有最新 iOS8 的 Xcode 6 作为基础 sdk。为 iOS7.1 设备构建时出现此错误:

ld:无法与架构的主可执行文件“/Users/Name/Library/Developer/Xcode/DerivedData/Clumsy_Bird-gotvuaeuyvrkzvfqpzsuxpmifimu/Build/Products/Debug-iphoneos/Clumsy Bird.app/Clumsy Bird”链接armv7 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

如何解决?

【问题讨论】:

  • 我在为 iPad 构建 Xcode 6 时遇到了同样的问题。我可以通过访问目标的“编辑方案”面板、选择“构建”类别并取消选中单元测试目标的“运行”复选框来解决此问题。
  • 谢谢克雷格·奥蒂斯...我下次试试...设法通过删除“测试”目标来修复它...

标签: xcode6


【解决方案1】:
  1. 在 Navigator 中单击您的项目。
  2. 选择您的测试目标。如果没有,请切换到常规标签。
  3. Host Application下拉列表中选择您的应用程序名称。

【讨论】:

  • Apple 需要这样做吗?我对 XCode 设置的更改感到非常沮丧。我在谷歌上搜索并得到上述解决方案后已经解决了这个问题。
  • 就我而言,这发生在我重命名产品时;这立即解决了它:)
  • 哇。工作!所以不直观
  • +50 拯救了我的一天!这是 XCode 中超级直观的巨大错误!
  • 您好 Evgenii,我有一个通过编译 C++ 控制台程序生成的二进制文件。当我使用终端运行它时,它运行良好。当我在 Xcode 中使用 NSTask 运行它时,我收到错误 ld: can't link with a main executable file。代码:NSTask *terminalOperation = [[NSTask alloc] init]; terminalOperation.launchPath = @"/usr/bin/g++"; NSArray *argumentsArray = [NSArray arrayWithObjects:filePath, nil]; [终端操作 setArguments:argumentsArray]; [终端操作启动]; [终端操作 waitUntilExit];你能帮忙吗
【解决方案2】:

“仅构建活动架构”之间的值不匹配,对于我的测试应用程序是“是”,但对于我的单元测试目标是“否”。确保这些值相同。

【讨论】:

  • 为我工作,谢谢
  • 我支持这个。节省大量时间。谢谢。
【解决方案3】:

构建设置 > IOS 部署目标 确保这些值在应用和测试应用目标中相同。为我工作。 screen here

【讨论】:

  • 宾果游戏!确保版本号匹配
【解决方案4】:

我遵循了上面“Evgeny”提供的步骤,但我的项目仅在我取消选中“允许测试主机应用程序 API”时才构建。 谢谢“Evgeny”!

【讨论】:

  • 这个解决方案适用于我使用 React Native 运行 XCode 9.4.1
猜你喜欢
  • 1970-01-01
  • 2020-02-18
  • 2012-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多