About
- Mac M1 arm架构编出来的动态库都是arm架构
- 所以arm下写出来的软件,要让
x86_64
架构下能运行,就需要在arm下编的时候编成x86_64
架构 - 包括所依赖的一些库,都需要
x86_64
的
查看动态库架构的方法
file
1 2 |
file EnServiceColl.dylib EnServiceColl.dylib: Mach-O 64-bit dynamically linked shared library x86_64 |
lipo
1 2 |
lipo -info EnServiceColl.dylib Non-fat file: EnServiceColl.dylib is architecture: x86_64s |
安装x86_64编译工具链
1 2 3 4 |
brew install x86_64-elf-gcc brew install x86_64-elf-gdb |
编译openssl1.1.1
- 下载代码后,解压缩,执行命令生成Makefile
1 |
./Configure darwin64-x86_64-cc --prefix="/Users/enlink/Downloads/openssl-1.1.1t/8664" |
- 修改Makefile内容,把CC后面的内容替换,并添加两行
1 2 3 |
CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 CROSS_TOP=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer CROSS_SDK=MacOSX13.1.sdk |
- 执行make
本文为原创文章,版权归Aet所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ Macos蓝牙相关05/31
- ♥ X86_64汇编学习记述三08/08
- ♥ Macos服务相关03/27
- ♥ Macos自动更新相关06/01
- ♥ 包管理器:各平台安装卸载相关记述09/17
- ♥ Macos开发问题:aarch64架构宏不识别06/25