0

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

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

亲切的问候,维。

4

1 回答 1

2

您可能需要传递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 构建。

于 2013-04-15T10:21:55.217 回答