Automake error '. /ltmain.sh - не найден.
я установил mingw и msys с помощью mingw-get-setup.exe
. Я также установил Autotools (autoconf, automake,m4,libtool) в C:/opt/autotools
.
когда я запускаю automake, всегда возникает следующая ошибка:
configure.ac:11: error: required file './ltmain.sh' not found
если скопировать ltmain.sh
из установленного дерева libtool выполнение завершится нормально.
как я могу configuure сожалению, чтобы найти ltmain.sh
без копирования?
1 ответов
на autoconf
/automake
/libtool
проект, вы должны вызвать:
-
libtoolize
: это копирует / связывает несколько сценариев поддержки, включаяltmain.sh
(который является основным компонентом libtool). -
aclocal
: Это ищет все макросы m4, которые понадобятся вашему скрипту настройки, и делает локальную копию для облегчения доступа. -
autoheader
: опционально, если вы хотите использоватьconfig.h
/AC_CONFIG_HEADERS
, в противном случае все макросы результатов теста будут встроены при вызове компилятор. -
autoconf
: развернуть все макросы, используемыеconfigure.ac
наconfigure
сценарий. -
automake
: всеMakefile.am
наMakefile.in
шаблоны. Вероятно, вы хотите вызвать это с помощью--add-missing
таким образом, дополнительные сценарии поддержки могут быть связаны/скопированы в ваш проект (например,compile
,missing
,depcomp
,test-driver
и т. д.).
вы, скорее всего, захотите добавить bootstrap
скрипт для каждого из ваших проектов, который вызывает все эти инструменты, в таком порядке. Или вы можете быть ленивыми и просто вызвать autoreconf -i
и посмотрите, работает ли это для вашего проекта.
после (и в то время) у вас есть работа Makefile
s генерируется скриптом configure, autotools заботится о себе; то есть, если вы редактируете configure.ac
, или любое Makefile.am
, правильные инструменты выше будут вызваны снова, чтобы сохранить все обновлено, просто запустив make
. Просто будьте осторожны, чтобы не создать синтаксическую ошибку в Makefile.am
файлы, в противном случае вы можете закончить с сломанный Makefile
s, вызывая make
отказаться от запуска - в этом случае вы должны запустить bootstrap
скрипт (или autoreconf
) вручную.
EDIT:
на руководство automake говорит Это О aclocal:
aclocal
ожидается, что исчезнет.
и дальше:
С точки зрения пользователя,
aclocal
удаление может оказаться болезненным. Существует простой меры предосторожности, которые вы можете принять, чтобы сделать этот переключатель более бесшовным:никогда не называйте себя aclocal. Держи этого парня под исключительным контролемautoreconf
и правила восстановления Automake.
Итак, у вас есть: используйте autoreconf -i
быть будущим доказательством, если у вас нет очень веской причины использовать инструменты напрямую.