GNU/Libtool кросс-компиляция
У меня очень базовый вопрос о GNU/Libtool
, Мой проект построен GNU/autotools
и содержит общий объект, созданный GNU/Libtool
, Я хочу скомпилировать i386
общий объект на x86-64
машина, так что я делаю
$ ./configure --build=i386
checking for a BSD-compatible install... /usr/bin/install -c
...
checking whether to build shared libraries... no
checking whether to build static libraries... yes
...
config.status: executing depfiles commands
config.status: executing libtool commands
$
Сценарий конфигурации сообщает мне, что разделяемые библиотеки не поддерживаются, и make
Команда терпит неудачу. Как исправить эту проблему кросс-компиляции?
Должен ли я найти ответ в руководстве по Libtool?
1 ответ
--build
как правило, для таких вещей, как канадская кросс- компиляция. Вы, вероятно, хотите использовать --host
вариант. Вы не указали тип системы, но если ./config.guess
дает что-то вроде:
x86_64-apple-darwin
или же x86_64-pc-linux-gnu
Тогда вы бы уточнить
--host=i386-apple-darwin
или же i386-pc-linux-gnu
Кроме того - вам может понадобиться установить некоторые флаги компилятора для генерации 32-битного кода. например,
env CC="gcc -m32" ./configure --host=....
Часто -m32
вариант достаточно - вам не нужно беспокоиться с --host
вариант.