首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将macOSX的library.a转换为iOS的library.a

将macOSX的library.a转换为iOS的library.a
EN

Stack Overflow用户
提问于 2021-04-12 13:25:52
回答 1查看 42关注 0票数 2

有没有办法将为macOS构建的库转换为可以在iOS项目中使用的库?我的应用程序中出现以下错误:

代码语言:javascript
复制
/Users/edwardpizzurro/Desktop/LibreriasAlternativas/LibreriasAlternativas.xcodeproj Building for iOS, but the linked library 'libsndfile.a' was built for macOS.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-12 16:06:06

通常,这是不可能的,您必须指定iOS架构来重新构建您的库。

要获取有关库的更多信息,请运行

代码语言:javascript
复制
lipo -info libsndfile.a

它将为您提供像armv7 armv7s i386 x86_64 arm64这样的架构。iOS的默认架构是arm64,而MacOS的默认架构是x86_64 (我们不是在谈论新的M1硬件)。所以,对于你的libsndfile.a来说,最有可能的就是你只会得到x86_64

这意味着你需要自己构建libsndfile。

这里是这个库的发行版,这里没有arm64https://github.com/libsndfile/libsndfile/releases

因此,您必须加载repo:https://github.com/libsndfile/libsndfile,并使用smth像Autotools一样为您想要的架构构建它。

这里有一个粗略的例子来说明你需要做什么:Can't cross compile C library for arm (iOS)

虽然它对每个库都是非常具体的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67053061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档