Вы, вероятно, нужно пройти CFLAGS='-arch x86_64'
командной строки конфигурации, чтобы правильно установить архитектуру:
./configure CFLAGS='-arch x86_64'
Update:
Добавление CFLAGS
не изменяется, как настроить определяет систему, это просто изменяется то, что передается 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
является лучшим выбором здесь. Однако, поскольку gcc в Mac OS X может создавать «жирные» двоичные файлы, это немного размывает строку о том, на какой машине вы строите, поскольку она может строить как для i386, так и для x86_64.
Вы можете сделать «make uninstall» в каталоге проекта. Я столкнулся с такой же проблемой с 32-битной версией. Это кажется (на первый взгляд и googleing) связано с выходом 'uname -p', который является i386. Не спрашивайте меня, почему, к сожалению, я не знаю. –