美文网首页
go编译iOS静态库

go编译iOS静态库

作者: 阿吖嗄 | 来源:发表于2022-07-20 16:40 被阅读0次

    1、编译实体机版本

    export CFLAGS="-arch arm64 -miphoneos-version-min=15.0 -isysroot "$(xcrun -sdk iphoneos --show-sdk-path) 
    export CGO_LDFLAGS="-arch arm64 -miphoneos-version-min=15.0 -isysroot "$(xcrun -sdk iphoneos --show-sdk-path)  
    CGO_ENABLED=1 GOARCH=arm64 GOOS=darwin CC="clang $CFLAGS $CGO_LDFLAGS" go build -tags ios -ldflags=-w -trimpath -v -o "demo.a" -buildmode c-archive
    

    编译完成之后建议拷贝到一个新的文件夹。为后面合并.a做准备

    2、编译模拟器版本

    export CFLAGS="-arch x86_64 -miphoneos-version-min=15.0 -isysroot "$(xcrun -sdk iphonesimulator --show-sdk-path) 
    export CGO_LDFLAGS="-arch x86_64 -miphoneos-version-min=15.0 -isysroot "$(xcrun -sdk iphonesimulator --show-sdk-path) 
    CGO_ENABLED=1 GOARCH=amd64 GOOS=darwin CC="clang $CFLAGS $CGO_LDFLAGS" go build -tags ios -ldflags=-w -trimpath -v -o "demo.a" -buildmode c-archive
    

    同样编译完成之后建议拷贝到一个新的文件夹。为后面合并.a做准备

    3、合并.a文件,制作通用静态库

    lipo  -create iOS/iphoneos/demo.a iOS/iphonesimulator/demo.a  - output  SQY/iOS/demo.a
    

    如果你的.a文件在同一个文件夹下,可以使用下面的命令

    lipo  -create  *a(或者a.a b.a c.a)  -output xxx.a
    

    然后可以输入命令测试下是否成功 :

    lipo  -info  iOS/demo.a
    

    相关文章

      网友评论

          本文标题:go编译iOS静态库

          本文链接:https://www.haomeiwen.com/subject/iysdirtx.html