GMSSL编译iOS

发布于:2024-04-28 ⋅ 阅读:(24) ⋅ 点赞:(0)

一、GMSSL-2.x

国密SDK源码下载,对GMSSL库进行编译生成对应的静态库。执行如下命令:

  1. cd到SDK源码目录
    cd /Users/xxxx/Downloads/GMSSLV2-master
    
  2. 查看SDK适用环境
    ./config
    

    在这里插入图片描述上图中错误解决方法

     使用文本编辑器打开SDK目录下Configure、test/build.info、test/run_tests.pl。
     use if $^O ne "VMS", "File::Glob" => qw/glob/;
     改为
     use if $^O ne "VMS", "File::Glob" => qw/:glob/;
    
  3. 使用make命令进行编译
    make
    
  4. 编译armv7/armv7s架构
    • 清理编译文件
    make distclean
    
    • 设置编译器 ,编译armv7s只需将armv7替换成armv7s即可
    export CC="clang -arch armv7"
    
    • 设置工具链路径
    export PATH="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin:$PATH"
    
    • 设置开发环境目录
    export CROSS_TOP=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer
    
    • 设置SDK,版本在开发环境目录下SDKs中查看
    export CROSS_SDK=iPhoneOS17.2.sdk
    
    • 设置最小依赖版本
    export IPHONEOS_DEPLOYMENT_TARGET=8.0
    
    • 生成makefile
    ./Configure ios-cross no-shared -DGMSSL_NO_TURBO
    
    • 构建
    make
    
  5. 编译arm64架构
    • 清理编译文件
    make distclean
    
    • 设置编译器
    export CC="clang -arch arm64"
    
    • 设置工具链路径
    export PATH="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin:$PATH"
    
    • 设置开发环境目录
    export CROSS_TOP=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer
    
    • 设置SDK,版本在开发环境目录下SDKs中查看
    export CROSS_SDK=iPhoneOS17.2.sdk
    
    • 设置最小依赖版本
    export IPHONEOS_DEPLOYMENT_TARGET=8.0
    
    • 生成makefile
    ./Configure ios64-cross no-shared -DGMSSL_NO_TURBO
    
    • 构建
    make
    
  6. 编译i386和x86_64
    • 清理编译文件
    make distclean
    
    • 设置编译器
    export CC="clang -arch i386 -arch x86_64"
    
    • 设置工具链路径
    export PATH="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin:$PATH"
    
    • 设置开发环境目录
    export CROSS_TOP=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer
    
    • 设置SDK,版本在开发环境目录下SDKs中查看
    export CROSS_SDK=iPhoneSimulator17.2.sdk
    
    • 设置最小依赖版本
    export IPHONEOS_DEPLOYMENT_TARGET=8.0
    
    • 生成makefile
    ./Configure iphoneos-cross no-shared -DGMSSL_NO_TURBO 
    
    • 构建
    make
    
  7. 静态库合并
    • 合并命令
    lipo -create 模拟器.a文件路径  真机.a文件路径 -output 合成的.a文件路径
    
    • 查看静态库信息
    lipo -info  .a文件路径
    

网站公告

今日签到

点亮在社区的每一天
去签到