Что такое ltmain.sh и почему automake говорит, что он отсутствует? Что такое хороший авто (make / conf / etc) генератор? - PullRequest
4 голосов
/ 11 мая 2010

Я просто хочу разработать приложение на C в Linux с автоматически сгенерированным материалом auto (make / conf / ...). Я попытался сгенерировать его с помощью ede и anjuta, но, похоже, он не генерирует Makefile.am. Итак, я попытался запустить automake, и он говорит, что «ltmain.sh» не найден. Есть ли некоторые простые для генерации основных файлов сборки для приложений Linux C / C ++. Какова стандартная практика? Большинство людей сами пишут эти файлы?

Ответы [ 3 ]

4 голосов
/ 23 мая 2010

Создать действительно тривиальный набор файлов автоинструмента довольно просто. Вот (действительно простой) пример. После того как вы запустите их, вы должны получить копию ltmain.sh в каталоге, и у вас будет все готово для запуска скрипта configure:


$ mkdir sample
$ cd sample
$ echo 'int main( void ) { return 0; }' > foo.c
$ echo 'bin_PROGRAMS = foo' > Makefile.am
$ autoscan
$ mv configure.scan configure.ac
$ # edit configure.ac, add AM_INIT_AUTOMAKE([foreign])
$ # and LT_INIT, set project name and bug-report-address
$ autoreconf -ivf

Обратите внимание, что в этом примере libtool действительно не нужен, так как Примером является просто создание простого приложения. Но вы спрашивали о ltmain.sh, и это вещь libtool, поэтому LT_INIT необходим для обратиться к этой части вопроса. Если вы хотите построить библиотеку, измените bin_PROGRAMS на lib_LTLIBRARIES.

1 голос
/ 12 мая 2010

EDE может работать с вашими файлами Automake двумя различными способами. Если вы напишите свои собственные файлы automake, он прочитает их и настроит через пользовательский интерфейс.

Если вы предпочитаете, вы можете попросить EDE сделать все это за вас. Сначала создайте свой первый файл C, затем, когда он будет на диске, выполните:

M-x ede-new RET Automake RET

затем из меню параметров проекта / проекта добавьте цель, например "program".

Если вы заполните свой C-файл, вы можете затем выбрать Project-> Build-> build currentproject из меню, и он создаст и настроит все необходимое для Automake, чтобы выполнить свою задачу, в дополнение к выполнению всего misc automake Необходимые команды.

Наконец, где-то есть опция 'run' для запуска вашей программы.

0 голосов
/ 11 мая 2010

Я бы вообще не использовал autoconf и automake - их сложность перевешивает их преимущества, особенно если вы ориентируетесь только на Linux.

Обратите внимание, что "git", например, не использует их вообще; вместо этого он просто имеет умеренно сложный (но понятный) Makefile.

...