文件是为存档而构建的,这不是正在链接的体系结构(i386)

2024-05-27

我必须构建静态库。我想在我的 iPhone 和 iPad 应用程序中使用。当我尝试运行模拟器时,出现链接错误。我是 iOS 开发新手。请帮忙;

ld:警告:忽略文件 /Users/valuelabs/Desktop/DruvaProject/libraries/libnetUtils.a,文件 是为存档而构建的,这不是正在链接的架构 (i386) 架构 i386 的未定义符号:
“_OBJC_CLASS_$_netUtils”,引用自: ViewController.o ld 中的 objc-class-ref:未找到架构 i386 clang 的符号:错误:链接器命令失败,退出代码 1 (使用-v查看调用)

我尝试在架构中添加 i386。但没有运气


在努力解决同样的问题并遵循更新构建设置、清除链接器搜索路径等所有已接受的答案之后。我终于发现了一个对我有用的答案。

在构建之前,请确保选择正确的类型(iPhone 模拟器)而不是 iOS 设备。然后重建。否则,您将尝试在 Mac (i386) 上的模拟器上使用为 iOS 设备(arm 处理器)构建的库。本来应该是显而易见的,但事实并非如此。

Before:

After:

现在,查看导航器中的“产品”组 > 右键单击​​静态库(.a 文件)> 在 Finder 中显示,您会注意到它位于 Debug-iphonesimulator 文件夹中,而不是 Debug-iphoneos 中。我本来并没有注意文件夹名称,或者我可能更早想到了这一点。

希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

文件是为存档而构建的,这不是正在链接的体系结构(i386) 的相关文章

随机推荐