Nan*_*ket 15 macos compilation universal-binary
这可能是一个非常愚蠢的问题,但我不熟悉在Mac上进行开发,并且很难使用通用二进制文件.
我有一个我在QT Creator中编译的应用程序,根据lipo正在生成i386架构输出.据我了解,这意味着它正在生产Mac OS X 32位输出.
该应用程序依赖于两个外部库.我正在通过首先调用./config编译这些库中的一个,然后编译../config声明它是"为darwin-i386-cc配置".但是,运行make并在结果上调用lipo后,体系结构将报告为x86_64.
同样,我有另一个外部库.那个没有配置脚本,我只是通过调用make来编译它.这个的输出也是x86_64.
如何编译这两个外部库,以便它们生成与我的应用程序的i386输出兼容的东西?更好的是,我如何编译这两个外部库来生成通用库,这样我就可以从我的应用程序生成一个通用二进制文件,它可以在32位和64位上运行?
另外,基于Mac世界的当前状态,是否还有其他平台可以用来创建一个适当的,用户友好的Mac OS X通用二进制文件?
Nan*_*ket 14
终于搞定了.
为了控制目标的体系结构,我手动进入并编辑了Makefile.
对于其中一个,我添加到以CFLAGS开头的行的末尾:-arch i386 -arch x86_64 -arch ppc这产生了一个通用二进制文件.
另一方面,当我做同样的事情时,编译会出错.我不得不循环通过,一次只放一个拱门,然后在我生成所有三个之后,我用-create标志在它们上面调用lipo来创建一个通用的二进制文件.
对于./configure,你可以使用这个:
./configure CFLAGS =" - arch i386 -arch x86_64"CXXFLAGS =" - arch i386 -arch x86_64"LDFLAGS =" - arch i386 -arch x86_64"--disable-dependency-tracking
--disable-dependency-tracking很重要,否则gcc/g ++会拒绝编译代码.
| 归档时间: |
|
| 查看次数: |
9460 次 |
| 最近记录: |