macos - 通过 cmake 为 mac 编译通用库时包括 i386 和 x86_64 的不同 header

标签 macos openssl cmake

我正在 mac 上构建一个通用库。我的库使用 openssl 函数和针对 openssl 库的链接。我可以获取分别为 i386 和 x86_64 编译的 openssl 代码,然后创建一个胖库使其成为 i386 和 x86_64 的通用库。

我的库是通过 cmake 编译的,通过设置 CMAKE_OSX_ARCHITECTURES=i386;x86_64 使其在 i386 和 x86_64 之间通用 为 i386 和 x86_64 生成的 openssl header 不同。如何让 cmake 为 i386 和 x86_64 选择不同的 header ?

最佳答案

据我所知,当前的 openssl 构建过程不直接支持 OS X 通用构建。一种方法是分别编译每个体系结构,然后使用 lipo -combine 将每个库文件的两个变体组合成一个组合的通用文件。参见 man 1 lipo。这里有一个例子:https://gist.github.com/tmiz/1441111

关于macos - 通过 cmake 为 mac 编译通用库时包括 i386 和 x86_64 的不同 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23598756/

相关文章:

ruby - 新 10.9 OSX for ruby​​ gems 的命令行工具?

PHP脚本不会在后台运行

ruby - 如果我在 jruby 而不是 ruby​​ 中,为什么我的加密模块会返回不同的值

gcc - 将 GCC 的链接时优化与静态链接库一起使用

c++ - NMAKE : fatal error U1077: cl. exe 和 nmake.exe 返回代码 '0x2'

xcode - 如何获取 Mac 上可用的最新 SDK 的路径

swift - 使用AVPlayer从MacOS Swift应用程序将音频定向到空中播放扬声器

SSL 证书 : how to setup CA to deal with certificate chain?

c++ - C++Builder 中的 "Could Not Load SSL Library"错误

c - 在整个项目上使用 cmake 后,在子目录中使用 Cmake 时出现问题