ios - 在 iOS 设备和 iOS 模拟器上运行的我的 .a 应该是什么架构
问题描述
我已经使用来自各种 lib.a 的架构“arm64”、“armv7”和“x86”构建了一个胖库。当我为 iOS 设备编译项目时我没有问题,但是当我在 iOS 模拟器中尝试时编译似乎出错了。它说“x86_64 的未定义符号”。我可以想象我还需要 x86_64 lib.a 但我想知道我能做些什么来解决这个问题。
注意:从OpenHome手动编译的库
比你
编辑:可能是因为这里的makefile
解决方案
作为第一步,请确保您的 fat bin 是否确实包含 x86_64。为此,您可以按如下方式检查 w/cmd。
$ xcrun lipo -info yourLibrary.a
如果你的库肯定包含 x86_64,它应该显示
Architectures in the fat file: yourLibrary.a are: x86_64 arm64 ...
例如,我为我的应用程序编译了 x86_64 和 arm64 的 libpng。xcrun 命令显示如下。
$ xcrun lipo -info libpng.a
Architectures in the fat file: libpng.a are: x86_64 arm64
不用说,fat bin 有 arm64 和 x86(因为它是 FAT)。所以 fat bin 不需要你在 q 中提到的单独的 x86_64 lib.a。
检查你的 Makefile 是在你确认你的 fat bin 有 x86_64 之后。
推荐阅读
- ros - ROS项目中mini-httpd出现这个错误的原因是什么?
- angular - Angular ngrx 存储数据库更改的更新
- python - 如何将多个列表显示为一个表格,每个列表具有不同的索引长度
- python - 如何将 wav 音频文件格式(样本宽度)转换为 8 位格式?
- django - 使用正则表达式时的凌乱网址
- ios - 有没有办法在 iOS 应用程序中创建性能计数器?
- python - Why reindex instead of using .loc?
- python - 在不使用“in”运算符的情况下检查元素是否存在于列表中
- typescript - 如何使用迭代关联数组本身的属性在打字稿中创建关联数组
- ios - 如何让我的按钮在被选中时稍微变暗,比如故事板按钮?