使用静态库时体系结构的未定义符号 x86_64

Undefined symbols for architecture x86_64 while using a static library

我创建了一个静态库(XXX.a)(里面有3个静态库(aaa.a,bbb.a,ccc.a))并添加到pre -开发的项目(someonesProject)。当我 lipo -info 到 XXX.a 时,我看到以下架构:armv7、i386、x86_64、arm64

当我尝试 运行 这个项目时,我收到一个错误:

未定义的体系结构符号x86_64: “_OBJC_CLASS_$_aaa”,引用自: XXX.a(XXX.o) 中的 objc-class-ref ld:未找到体系结构的符号 x86_64 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

当我从项目 (someonesProject) 的有效架构(arm64、armv7 armv7s)中删除 arm64 时,我可以 运行 应用程序。

如何解决这个问题,我想让这个项目在不删除 arm64 的情况下运行?

我真的需要帮助。

谢谢

E.

如果你想用这个架构编译你的项目,你所有的静态库都必须与 arm64 兼容。 所以我猜至少 aaa.a、bbb.a 和 ccc.a 中的一个与 arm64 不兼容。