我正在 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/