首页 > 解决方案 > 从 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 库。任何帮助表示赞赏,谢谢!

标签: iosmacosarchiveshareddylib

解决方案


@Siguza 给了我正确的提示。这是将我的静态存档转换为 iO 的动态库的最终方法 - 至少对于 arm64。我为 armv7 尝试了相同的方法,但这会导致其他问题,因此我决定将 32 位留在这里。

xcrun -sdk iphoneos clang -arch armv7 -fpic -shared -Wl,-all_load libmystatic.a -framework Corefoundation -o libmydynamic.dylib

推荐阅读