步骤如下
(采用此处的资料:https://www.jianshu.com/p/27c3393054da)
#--prefix=后面的内容为上一步创建的目录 ( iphoneos-cross 和 ios64-cross 都尝试过)
$ ./Configure iphoneos-cross --prefix=/Users/xxx/openssl-1.1.1b/openssl_arm64
将 CC= $(CROSS_COMPILE)cc
替换为
CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch arm64
打开Makefile文件,将原来的
CFLAGS=-3
改成
CFLAGS=-DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSLDIR="\"$(OPENSSLDIR)\"" -DENGINESDIR="\"$(ENGINESDIR)\"" -O3 -D_REENTRANT -isysroot $(CROSS_TOP)/SDKs/$(CROSS_SDK) -fno-common
在刚刚修改完毕的一行代码上加上两行:
# sdk上层路径
CROSS_TOP=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer
# sdk文件
CROSS_SDK=iPhoneOS12.1.sdk
make
make install
在文件中生成libcrypto.a 和 libssl.a
但是在mac中用ida sdk的flair75工具转换时一致报如下错误:
(我在mac上静态编译的,用的是 flair的“plb”工具,请问这个是对的吗?)
skip所有符号了,请问这个应该怎么解决?