GMSSL编译iOS

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/582315.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【STM32F407+CUBEMX+FreeRTOS+lwIP之UDP记录】

STM32F407CUBEMXFreeRTOSlwIP之UDP记录 基本信息cubemx配置GPIONVICRCCSYSETHFREERTOSlwIP UDP(SOCKET)效果 UDP广播(SOCKET)效果 UDP组播(SOCKET)cubemx注意以下ethernetif.c效果 可参考正点原子和野火的手…

深度学习论文:Local Feature Matching Using Deep Learning: A Survey

深度学习论文: Local Feature Matching Using Deep Learning: A Survey Local Feature Matching Using Deep Learning: A Survey PDF: https://arxiv.org/pdf/2401.17592 1 概述 近年来,深度学习模型的引入引发了对局部特征匹配技术的广泛探索。本文旨在全面概述局…

go语言实现简单ngnix样例

目录 1、代码实现样例: 2、postman调用ngnix,转发: 1、代码实现样例: package mainimport ("bytes""encoding/json""io""log""net/http""net/http/httputil""…

防止核心研发数据流失:管理者跳槽怎么办?

在高速发展的科技行业中,核心研发数据是企业最宝贵的资产之一。然而,当高层管理人员或核心技术人员因跳槽等原因离开公司时,他们可能会无意中或有意地携带走企业的核心研发数据,这对于任何企业来说都是一个巨大的风险。为了有效地…

Vue---组件

Vue—组件 目录 Vue---组件定义组件全局组件局部组件 组件通讯***重点***父子通信之父传子(props)父子通信之子传父($emit)ref属性($refs) 动态组件插槽命名插槽 定义组件 全局组件 vue2中template只能传…

ArcGIS小技巧—基于点数据的密度分析(含练习数据)

关于空间点数据的密度分析,Arcgis Map中提供了基础的点密度分析和核密度分析。核密度分析可以通过手动设置搜索半径,调整密度分布的合理性。 但有时由于实际工作的需要,我们需要对研究范围做特定划分,比如根据格网规则划分做密度…

Flask框架进阶-Flask流式输出和受访配置--纯净详解版

Flask流式输出🚀 在工作的项目当中遇到了一种情况,当前端页面需要对某个展示信息进行批量更新,如果直接将全部的数据算完之后,再返回更新,则会导致,前端点击刷新之后等待时间过长,开始考虑到用进…

电脑录制视频快捷键,一键开启录屏新时代(干货)

“最近尝试录制一些电脑上的操作视频,用来制作教学教程。不过,每次录制都要通过菜单或搜索来打开录屏软件,实在是有些繁琐。有没有人知道哪些电脑录制视频的快捷键呀?或者有没有通用的快捷键设置方法?” 在当今数字时…

CMake+qt+Visual Studio

#使用qt Creator 创建Cmake 项目,使用Cmake Gui 生成sln 工程,使用Visual Studio 开发 ##使用qt Creator 创建CMake项目 和创建pro工程的步骤一致,只是在选择构建系统的步骤上选择CMake,接下来步骤完全相同 工程新建完成之后,构建cmake 项…

PE文件(三)节表作业

本次作业以notepad进行演示,如下是其在硬盘上的内存 1.手动解析节表 由标准pe头可知,一共由7个节也就是7个节表,可选pe头的大小是0X00F0,即240字节大小 根据上述我们所获取的信息,找到节表的首地址为0x01F8 .text …

微服务:Nacos注册中心

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ Nacos注册中心 一、服务注册与发现1.启动Nacos…

Vite proxy-rewrite 属性详解

在前端开发中,为了避免跨域问题,我们会在vite.config.ts 中配置如下问题 rewrite: 由于不了解Nginx的知识,这个属性一直困扰着我,这个重写有啥用,加和不加有啥影响 server: {host: 0.0.0.0,proxy: {/api: {target: ht…

手机通讯录删除了怎么恢复?这里几个方法超快找回!

当我们不小心删除了手机通讯录中的联系人,或者手机丢失导致通讯录信息丢失,恢复通讯录就变得非常重要了。手机通讯录删除了怎么恢复?我们该如何快速找回这些重要的联系人信息呢?下面我们将介绍2种简单易行的方法,帮助您…

Spark核心名词解释与编程

Spark核心概念 名词解释 1)ClusterManager:在Standalone(上述安装的模式,也就是依托于spark集群本身)模式中即为Master(主节点),控制整个集群,监控Worker。在YARN模式中为资源管理器ResourceManager(国内…

树莓集团整合行业资源 优化数字产业生态圈

树莓集团,作为国际数字影像产业园的运营方以及链主企业,自创立以来,一直致力于整合行业优质资源,为数字科技领域的优秀企业提供一片肥沃的创新土壤。随着信息技术的迅猛发展和数字经济的深入推进,树莓集团深知自身的责…

七彩虹(Colorful)隐星P16 2023款笔记本电脑原装出厂Win11系统镜像下载 带建Recovery一键还原功能

七彩虹原厂Windows预装OEM专用系统,恢复出厂开箱状态一模一样 适用型号:隐星P16 23 链接:https://pan.baidu.com/s/1Ig5MQMiC8k4VSuCOZRQHUw?pwdak5l 提取码:ak5l 原厂W11系统自带所有驱动、出厂时自带的主题与专用壁纸、系…

机器学习在医疗行业的应用:颠覆传统诊疗模式,开启智慧医疗新时代

文章目录 一、精准诊断的突破二、药物研发的革新三、患者管理的智能化四、智能辅助决策系统五、机器学习在医疗行业的前景 随着科技的飞速发展,机器学习作为人工智能的核心技术,正逐渐渗透到各个行业中,其中在医疗行业的应用尤为引人瞩目。机…

Strassen矩阵乘法——C++

【题目描述】 根据课本“Strassen矩阵乘法”的基本原理,设计并实现一个矩阵快速乘法的工具。并演示至少10000维的矩阵快速乘法对比样例。 【功能要求】 实现普通矩阵乘法算法和“Strassen矩阵乘法”算法对相同的矩阵,分别用普通矩阵乘法算法&#xff…

电机控制系列模块解析(11)—— 电流采样

一、电流采样分类 由下图可知,采样电阻的位置不同,电流采样分为输出电流采样、下桥电流采样、母线电流采样。 输出电流采样 定义:输出电流采样是指对电机定子绕组或转子绕组(对于内转子永磁同步电机)输出的电流进行测…
最新文章