在Mac OS X上构建libconfig 64位

时间:2013-04-15 10:06:14

标签: c macos compilation 64-bit libconfig

我想在我的Mac OS X(v10.8.3)上构建并安装libconfig 64位。 我可以在终端内使用哪些命令? 如果我只使用./configuresudo make install,则库将以32位安装。

否则......如何在安装过程(库位于/usr/local/路径中)之后从系统中正确删除库?

亲切的问候,Vi。

1 个答案:

答案 0 :(得分:2)

您可能需要在configure命令行上传递CFLAGS='-arch x86_64'以正确设置架构:

./configure CFLAGS='-arch x86_64'

<强>更新

添加CFLAGS并不会改变configure检测系统的方式,它只会更改传递给gcc的内容。但它将构建为64位可执行文件:

$ file lib/.libs/libconfig.*.dylib
lib/.libs/libconfig.9.dylib: Mach-O 64-bit dynamically linked shared library x86_64

如果您确实希望configure输出正确,则需要传入--build参数:

$ ./configure --build=x86_64-apple-darwin10.8.0
checking build system type... x86_64-apple-darwin10.8.0
checking host system type... x86_64-apple-darwin10.8.0
checking target system type... x86_64-apple-darwin10.8.0
...

结果库也是64位:

$ file lib/.libs/libconfig.*.dylib
lib/.libs/libconfig.9.dylib: Mach-O 64-bit dynamically linked shared library x86_64

不可否认,使用--build选项是更好的选择。但是,由于Mac OS X上的gcc可以构建“胖”二进制文件,因此它可以为你正在构建的机器模糊一点,因为它可以为i386和x86_64构建。