一、下载好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/;
重置第一步不报错即可
二、终端输入 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 查看支持的架构
网友评论