Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Программирование под Unix/Linux > Проблемка со сборкой проекта... |
Автор: heavix 7.2.2012, 12:10 |
Доброго времени суток, уважаемые форумчане! Столкнулся с необходимостью дописать утилиту для опенсорсного кросплатформенного проекта... сам - виндовс девелопер... Вытянул из svn исходники... собрал под виндой в студии... добавил свой проект - дополнительную утилиту, которая исспользует несколько либ из этого проекта... Под виндой никаких проблем нет - все зависимости настроил в студии в несколько кликов. Теперь нужно это-же собрать под никсами. И вот здесь я нахожусь в замешательстве. Дело в том что за базу я взял один из проектов этого проекта - святой копипаст заготовки. Добавил несколько файлов исходников, где дополнительно подключил MySql...И теперь не знаю как это все собрать. В проекте исспользуется automake. в каждом под проекте лежит файлики .am, makefile.in и makefile. По сути мне нужно скопипастить мейк файл из тулзы которую я переделывал в свой каталог, поменять названия цели, добавить своиисходники, но я в замешательстве: как мне подключить MySql? И собственно где? Нужно ли создавать am файл, править конфигур... Если мне нужно только собрать мою тулзу. Спасибо большое заранее всем откликнувшимся!) |
Автор: tzirechnoy 7.2.2012, 12:38 |
Добрый совет: возьмите свои исходники (и только их), скопируйте куда-нибудь, вычистите из получившэгося всё, что Вы не писали своими руками (максимум копипаст -- одна строка. Если вызов функцыи из примеров занял две -- вычищать) -- а про заготовки, автотулс и прочую хрень забудьте. |
Автор: heavix 7.2.2012, 12:43 |
Я на самом деле расширяю тулзу работой с мускулем... по этому вычистить все - неполучится... у меня там всего дополнительный хидер, сишник, и mysql.h |
Автор: newbee 7.2.2012, 12:49 |
Makefile модифицировать нельзя, он генерируется автотулзой. Полистай туториал по автотулзе, новая зависимость, исходник и внешняя библиотека должны добавляться очень просто. Если лень, просто отправь свои исходники и патчи (если есть) разработчику, он сам включит это в проект, если фича покажется нужной. |
Автор: heavix 7.2.2012, 13:13 | ||
Фича сейчас нужна мне) Спасибо) Уже читаю... но мне не нужно весь проект пересобирать... мне нужно собрать только мою тулзу... я же спокойно могу пересобрать только проект исходной утилиты, которую я модифицировал без пересборки всего проекта... если я захожу в дирикторию утилитки, там лежит makefile и makefile.in... этого достаточно чтобы сделать мейк. но есть еще директория .deps -в которой лежат файлы с расширением Po. Я так понимаю это зависимости... может достаточно просто дописать ручками? буду экспериментировать...) |
Автор: tzirechnoy 7.2.2012, 13:45 | ||
Ну что, тогда доку по gnu autotools в зубы. Хидэр и сишник добавляются, скорее всего, в Makefile.am (хотя, возможно, что .am нет -- тогда в Makefile.in). Проверка на mysql и ключи компилятора для работы с mysql -- в configure.ac, примеры добавления должны быть и в доке на mysql, и во многих проектах с автоконфом, которые используют mysql. После изменения configure.ac -- запускаете autoconf (без параметров, в той жэ директории), он должэн создать configure. Makefile по-моему генерируется где-то автоматически на каком-то этап сборки, но, возможно, что и самому надо запустить automake, чтобы что-то создалось. |
Автор: heavix 7.2.2012, 13:47 | ||
Мне на это все равно - цель получить работающую тулзу... я не собираюсь распространять проект с этой фичей... |
Автор: xvr 7.2.2012, 13:57 | ||
Тогда напрямую пропишите в makefile. Po править не надо |
Автор: heavix 7.2.2012, 18:05 |
Разобрался))) Всем огромное спасибо за участие) Скопировал к себе в директорию Makefile.am, и подправил, тут же указал пути к инклудам и либам мускула... добавил в Makefile.am - глобального проекта еще один путь подпроекта... и в файле configure.in добавил еще одну цель... сказал autoconf, за тем automake, потом configure... - и вуаля - сгенерился мейк файл. теперь мейк и мое счастье)))) |