首页 > 其他分享 >国密SDK编译

国密SDK编译

时间:2024-04-28 17:11:07浏览次数:17  
标签:make 编译 国密 export 设置 SDK Developer

一、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文件路径
    

标签:make,编译,国密,export,设置,SDK,Developer
From: https://www.cnblogs.com/yujiabo/p/18164090

相关文章

  • 编译原理PL0语法分析实验1
    编译原理PL0语法分析实验11,待分析的简单语言的词法相同点:都是分析种别码不同点:词法分析器分析的是字符串中的单词的种别码(单词)语法分析器分析的是字符串的文法是否正确(句子)待分析的简单语言的语法BNF:(1)<程序>::=begin<语句串>end(2)<语句串>::=<语句>{;<语句>}(3)<语句>::=<赋值语句>......
  • iOS 隐私清单和SDK签名
    隐私清单:<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEplistPUBLIC"-//Apple//DTDPLIST1.0//EN""http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plistversion="1.0"><dict><!--......
  • openGauss MOT查询原生编译_JIT
    MOT查询原生编译(JIT)MOT使您可以在执行之前以原生格式(使用PREPARE语句)准备并分析预编译的完整查询。这种本机格式以后可以更有效地执行(使用EXECUTE命令)。这种类型的执行效率要高得多,因为在执行期间,本机格式绕过了多个数据库处理层。这种分工避免了重复的解析分析操作。LiteExecu......
  • openGauss 轻量版安装包编译
    轻量版安装包编译使用build/script/cmake_package_mini.sh脚本构建openGauss轻量版安装包。前提条件已按照搭建编译环境的要求准备好相关软硬件,并且已参考代码下载下载了代码。已完成开源软件编译构建,具体请参见开源软件编译构建。了解cmake_package_mini.sh脚本的参数选项......
  • 编译执行和解释执行有什么区别?
    编译执行和解释执行是两种不同的程序执行方式。编译执行是将源代码一次性编译成机器码,然后直接执行机器码。而解释执行是将源代码逐行解释执行,每执行一行就翻译成机器码并执行。编译执行的程序运行速度更快,但需要先编译,而解释执行的程序则无需编译,但运行速度较慢。解释执行不需要......
  • .net开源智能家居之小米米家的c#原生sdk【MiHome.Net】1.0.0发布
    背景介绍hi大家好,我是三合,作为一个非著名懒人,智能家居简直刚需,在上一篇文章他来了他来了,.net开源智能家居之苹果HomeKit的c#原生sdk【Homekit.Net】1.0.0发布,快来打造你的私人智能家居吧中有靓仔提到,没有苹果设备,有一说一,苹果手机很贵,并且原生支持苹果HomeKit的智能家居设备......
  • 他又来了,.net开源智能家居之小米米家的c#原生sdk【MiHome.Net】1.0.0发布,快来打造你的
    背景介绍hi大家好,我是三合,作为一个非著名懒人,智能家居简直刚需,在上一篇文章他来了他来了,.net开源智能家居之苹果HomeKit的c#原生sdk【Homekit.Net】1.0.0发布,快来打造你的私人智能家居吧中有靓仔提到,没有苹果设备,有一说一,苹果手机很贵,并且原生支持苹果HomeKit的智能家居设备也......
  • 04_Linux下把驱动编译进内核
    Linux下把驱动编译进内核需求:把前面课程学习的helloworld驱动编译到内核。例子:source"drivers/redled/Kconfig"configLED_4412 tristate"LedSupportforGPIOLed" dependsonLEDSCLASS help Thisoptionenablesupportforled说明:1.source“drivers/redled......
  • IDEA中springboot项目编译两次的问题
    原因:因为在导入项目的之后,项目无法运行,问题1:显示缺少org.springbootframe的依赖,不知道怎么解决,网上搜了个方法,就是勾选下图的选项,意思是把build操作由IDEA交给Maven,勾选之后确实可以启动项目了但是后面在执行Mybatis时,问题2:我发现无论如何都会报一个唯一键值重复的错误,思考原因......
  • 【Azure Event Hub】解决Event Hub SDK出现无法识别 com.azure.core.client.traits.To
    问题描述使用ServiceBusSDK编写消费端应用时,遇见了错误信息:SDK版本  <dependency>   <groupId>com.azure</groupId>   <artifactId>azure-messaging-eventhubs</artifactId>   <version>5.4.0</version>  </dependency>......