Xcode - 缺少架构(库链接)

时间:2015-04-14 11:18:05

标签: ios objective-c iphone xcode computer-architecture

最近几天我每次构建项目时都会在Xcode中出现这个编译器错误:

ld: warning: ignoring file /.../(Framework Name).framework/(Framework), missing required architecture x86_64 in file /.../(Framework Name).framework/(Framework) (2 slices)

Undefined symbols for architecture x86_64:

  "_OBJC_CLASS_$_CLSNAME", referenced from:

      objc-class-ref in ViewController.o

ld: symbol(s) not found for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

我也无法在iPhone 5模拟器(i386)上运行此代码。 我的iPhone设备已经过时,无法运行iOS 8.我尝试将构建设置设置为iOS 7,但是在iOS 8之前缺少对动态库的支持时出现错误。

需要注意的事项:

  • 我在两个不同的工作区中使用了2个项目。 (一个用于库,另一个用于演示应用程序。在库项目中使用单元测试对相同代码进行的测试是成功的。)
  • 我曾经能够将演示项目与库项目链接,直到我不得不对库代码进行一些更改。导出新版本后,此错误开始发生。
  • 为了获取库文件/文件夹(.framework),我使用了Archive选项。
  • 正在运行lipo -info输出Architectures in the fat file: lib.a armv7 arm64
  • 我在库项目中有C ++代码(不太可能是问题)
  • 在库项目中,我正在使用我安装了Cocoa Pods的另一个外部库(也用于在库代码更改之前工作)

我尝试过的解决方案:

  • 更改构建设置中的体系结构和有效体系结构列表。
  • 在构建设置中将“仅构建活动体系结构”设置为“否”。
  • 创建新项目(包括演示和库)
  • 使库成为静态库(新项目,得到相同的警告,没有错误,无法#import我需要的文件)

我几个月前才开始使用iOS和Xcode,而且我对那里的所有东西都没有超级经验,所以请尽量详细解释所有内容。

提前感谢任何想要提供帮助的人:)

1 个答案:

答案 0 :(得分:1)

你添加了它说缺少的框架吗?此外,尝试删除Derived Data文件夹,然后清理项目。如果这不起作用,则在构建设置中关闭模块。

相关问题