ios - 从 golang for iOS (armv7/arm64) 构建一个 c-shared dylib
问题描述
有没有办法从 go 代码构建动态库(dylib)?我为 x86_64 和 i386 完成了它,但对于 arm64 和 armv7(s),它说“darwin/arm 不支持 buildmode=c-shared”。为什么?或者有没有办法将静态 a-library 文件转换为动态链接的 Mach-O dylib?我可以使用 lipo 将 dylib 和 a 文件合并到一个通用二进制文件中,但这仍然将它们保留为静态存档。
我确信必须有一个命令可以将静态存档转换为动态 Mach-O 库。任何帮助表示赞赏,谢谢!
解决方案
@Siguza 给了我正确的提示。这是将我的静态存档转换为 iO 的动态库的最终方法 - 至少对于 arm64。我为 armv7 尝试了相同的方法,但这会导致其他问题,因此我决定将 32 位留在这里。
xcrun -sdk iphoneos clang -arch armv7 -fpic -shared -Wl,-all_load libmystatic.a -framework Corefoundation -o libmydynamic.dylib
推荐阅读
- google-cloud-platform - 如何编写云函数来接收、解析和发布 PubSub 消息?
- r - 在数据框中排列染色体编号
- python - “如何修复 'NoneType' 对象不可下标”
- mysql - 为什么在查询不起作用的地方引用其他表的列?
- php - 使用@can() 添加条件后数据表列向左移动
- android - 在 Android 上异步更新 RecyclerView 中的所有项目
- wpf - 在 wpf 中隐藏 mah 应用程序地铁汉堡菜单按钮
- jquery - 在引导程序 4.1 中对行和列进行排序
- ios - iOS 11 推送通知:如何在收到推送通知后立即访问它的有效负载?
- javascript - 使用 Js 在 Laravel 刀片中的表中显示动态数据的问题