macos - 如何在 Mac OS X 上将 OpenSSL 构建为 32 位 (i386)?

我下载了 OpenSSL 源码,做了 configmakesudo make install 三部曲。

然后我构建了我的项目,在 libcrypto.a 和 libssl.a 中进行链接,但是得到了:

ld: warning: in /usr/local/ssl/lib/libcrypto.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
ld: warning: in /usr/local/ssl/lib/libssl.a, file was built for unsupported file format which is not the architecture being linked (x86_64)

我很确定我想将 OpenSSL 重新构建为 32 位 (i386),因为(由于与此问题无关的原因)我的项目需要是 32 位的。

如何在 Mac OS X 上将 OpenSSL 构建为 32 位? (我在“安装”文件中没有看到任何关于此的内容。)

最佳答案

$ curl https://www.openssl.org/source/openssl-1.0.0a.tar.gz | tar xz
$ cd openssl-1.0.0a
$ export CFLAGS="-arch i386"
$ export LDFLAGS="-arch i386"
$ ./config
$ make
$ lipo -info libssl.a
input file libssl.a is not a fat file
Non-fat file: libssl.a is architecture: i386
$ lipo -info libcrypto.a
input file libcrypto.a is not a fat file
Non-fat file: libcrypto.a is architecture: i386

https://stackoverflow.com/questions/4084210/

相关文章:

java - Eclipse Gradle 构建 "Could not find tools.jar

macos - 如何在 mac 上安装 build-essential?

gradle - 如何更改使用 shadowjar 创建的 jar 的名称

linux - RPM - 安装时间参数

android - 仅使用 armeabi 构建的应用程序能否在 armeabi-v7a 设备上运行

linux - 使用 Jenkins 的嵌入式 Linux 开发模型

javascript - grunt-concat 分隔符选项?

build - Sublime Text 2 通过简单的批处理文件构建

c# - 构建失败。有关详细信息,请参阅构建日志

build - 将 Gradle 脚本从根目录导入子项目