![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
heavix |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 10.8.2007 Репутация: нет Всего: нет |
Доброго времени суток, уважаемые форумчане!
Столкнулся с необходимостью дописать утилиту для опенсорсного кросплатформенного проекта... сам - виндовс девелопер... Вытянул из svn исходники... собрал под виндой в студии... добавил свой проект - дополнительную утилиту, которая исспользует несколько либ из этого проекта... Под виндой никаких проблем нет - все зависимости настроил в студии в несколько кликов. Теперь нужно это-же собрать под никсами. И вот здесь я нахожусь в замешательстве. Дело в том что за базу я взял один из проектов этого проекта - святой копипаст заготовки. Добавил несколько файлов исходников, где дополнительно подключил MySql...И теперь не знаю как это все собрать. В проекте исспользуется automake. в каждом под проекте лежит файлики .am, makefile.in и makefile. По сути мне нужно скопипастить мейк файл из тулзы которую я переделывал в свой каталог, поменять названия цели, добавить своиисходники, но я в замешательстве: как мне подключить MySql? И собственно где? Нужно ли создавать am файл, править конфигур... Если мне нужно только собрать мою тулзу. Спасибо большое заранее всем откликнувшимся!) |
|||
|
||||
tzirechnoy |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: 3 Всего: 16 |
Добрый совет: возьмите свои исходники (и только их), скопируйте куда-нибудь, вычистите из получившэгося всё, что Вы не писали своими руками (максимум копипаст -- одна строка. Если вызов функцыи из примеров занял две -- вычищать) -- а про заготовки, автотулс и прочую хрень забудьте.
|
|||
|
||||
heavix |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 10.8.2007 Репутация: нет Всего: нет |
Я на самом деле расширяю тулзу работой с мускулем... по этому вычистить все - неполучится... у меня там всего дополнительный хидер, сишник, и mysql.h
|
|||
|
||||
newbee |
|
|||
![]() Бревно ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 24.8.2011 Репутация: нет Всего: 19 |
Makefile модифицировать нельзя, он генерируется автотулзой. Полистай туториал по автотулзе, новая зависимость, исходник и внешняя библиотека должны добавляться очень просто. Если лень, просто отправь свои исходники и патчи (если есть) разработчику, он сам включит это в проект, если фича покажется нужной.
-------------------- You're face to face With man who sold the world |
|||
|
||||
heavix |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 10.8.2007 Репутация: нет Всего: нет |
Фича сейчас нужна мне) Спасибо) Уже читаю... но мне не нужно весь проект пересобирать... мне нужно собрать только мою тулзу... я же спокойно могу пересобрать только проект исходной утилиты, которую я модифицировал без пересборки всего проекта... если я захожу в дирикторию утилитки, там лежит makefile и makefile.in... этого достаточно чтобы сделать мейк. но есть еще директория .deps -в которой лежат файлы с расширением Po. Я так понимаю это зависимости... может достаточно просто дописать ручками? буду экспериментировать...) |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 20 Всего: 223 |
||||
|
||||
tzirechnoy |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: 3 Всего: 16 |
Ну что, тогда доку по gnu autotools в зубы. Хидэр и сишник добавляются, скорее всего, в Makefile.am (хотя, возможно, что .am нет -- тогда в Makefile.in). Проверка на mysql и ключи компилятора для работы с mysql -- в configure.ac, примеры добавления должны быть и в доке на mysql, и во многих проектах с автоконфом, которые используют mysql. После изменения configure.ac -- запускаете autoconf (без параметров, в той жэ директории), он должэн создать configure. Makefile по-моему генерируется где-то автоматически на каком-то этап сборки, но, возможно, что и самому надо запустить automake, чтобы что-то создалось. |
|||
|
||||
heavix |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 10.8.2007 Репутация: нет Всего: нет |
Мне на это все равно - цель получить работающую тулзу... я не собираюсь распространять проект с этой фичей... |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 20 Всего: 223 |
||||
|
||||
heavix |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 10.8.2007 Репутация: нет Всего: нет |
Разобрался))) Всем огромное спасибо за участие)
Скопировал к себе в директорию Makefile.am, и подправил, тут же указал пути к инклудам и либам мускула... добавил в Makefile.am - глобального проекта еще один путь подпроекта... и в файле configure.in добавил еще одну цель... сказал autoconf, за тем automake, потом configure... - и вуаля - сгенерился мейк файл. теперь мейк и мое счастье)))) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |