GMSSL 编译

一、下载好GMSSL源码,终端 cd到目录下,分别编译各个版本的包
./Configure ios64-cross(arm64)
./Configure iphoneos-cross(armv7、armv7s)
./Configure darwin64-x86_64-cc (x86_64)
./Configure darwin-i386-cc (i386)

出现错误
Operating system: x86_64-whatever-linux2 “glob” is not exported by the File::Glob module Can’t continue after import errors at ./Configure line 18. BEGIN failed–compilation aborted at ./Configure line 18. “glob” is not exported by the File::Glob module Can’t continue after import errors at ./Configure line 18. BEGIN failed–compilation aborted at ./Configure line 18. This system (linux-x86_64) is not supported. See file INSTALL for details

glob相关问题
This issue is due to the Perl package File::Glob, 一些简单的修改就能修复这个. 在 Configure文件和 test/build.info这个文件,

use if ^O ne "VMS", 'File::Glob' => qw/glob/; 改成 use if^O ne "VMS", 'File::Glob' => qw/:glob/;

重置第一步不报错即可

二、终端输入 open Makefile 做以下修改
打开Makefile
1、CC=/Applications/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7s
2、搜索“-isysroot”,把-isysroot后面的
&(CROSS_TOP)/SDKs/$(CROSS_SDK) -fno-common
修改为
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.5.sdk(-isysroot后面修改前的代码可能不一样,直接把-isysroot后面的代码按上面改就好。

三、修改完成后保存下 ,输入 make 在目录下会多出2个编译好的.a文件

四、sudo make install 安装完成

至此 一个架构的包编译完成。make clean 下 编译其他架构的包

全部编译完成后
lipo -create 目录下的libssl_armv7.a libssl_armv7s.a libssl_arm64.a libssl_x86.a -output libssl.a
合并各个架构的文件
lipo -info libssl.a 查看支持的架构

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 个人博客地址:https://blog.yookingh.cn[https://blog.yookingh.cn]...
    yooking丶毓阅读 3,429评论 0 0
  • 1.github下载最新版本Gmssl 2.在MacOS系统下CD进入下载的Gmssl文件夹(一般下载为zip文件...
    009419b5a3fd阅读 1,339评论 2 1
  • 公司项目需要用到sm2的加签功能,iOS方面的实现找了很久也没找到,最后用了GmSSL来实现,GMSSL里面有基于...
    北极点阅读 1,653评论 1 0
  • 下载OpenSSL源码:https://www.openssl.org/source/ 进入openssl目录,创...
    木子_礼阅读 8,531评论 5 9
  • 最近公司项目需要用到sm2的加签功能,IOS方面的实现找了很久也没找到,最后用了GmSSL来实现,GMSSL里面有...
    BetterG阅读 3,620评论 3 5