Автоматическая сборка зависимостей |
Здравствуйте, гость ( Вход | Регистрация )
Автоматическая сборка зависимостей |
QCasper |
6.12.2009, 18:01
Сообщение
#1
|
Студент Группа: Участник Сообщений: 66 Регистрация: 26.11.2007 Пользователь №: 24 Спасибо сказали: 2 раз(а) Репутация: 1 |
Есть один проект - статическая библиотека. Есть второй проект - исполняемый модуль. Модуль линкуется с библиотекой. Нужно, чтобы при запуске сборки модуля автоматически выполнялась сборка всех библиотек, от которых он зависит. На уровне файлов проекта естественно. То есть без всяких левых скриптов (это читай вручную опять же).
|
|
|
Litkevich Yuriy |
6.12.2009, 18:23
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Смотри QMAKE_EXTRA_TARGETS тут
|
|
|
QCasper |
6.12.2009, 18:38
Сообщение
#3
|
Студент Группа: Участник Сообщений: 66 Регистрация: 26.11.2007 Пользователь №: 24 Спасибо сказали: 2 раз(а) Репутация: 1 |
Смотри QMAKE_EXTRA_TARGETS тут Там я смотрел, но у меня ничего не вышло. Буду очень принзнателен за готовый рабочий пример. |
|
|
Litkevich Yuriy |
6.12.2009, 18:46
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
QCasper |
6.12.2009, 20:46
Сообщение
#5
|
Студент Группа: Участник Сообщений: 66 Регистрация: 26.11.2007 Пользователь №: 24 Спасибо сказали: 2 раз(а) Репутация: 1 |
Ну на пустом месте больше чем в асистенте я вряд ли напишу, приведи пример, своих зависимостей. Вот файл проекта приложения. Статическая библиотека - rsync.
|
|
|
QCasper |
7.12.2009, 14:09
Сообщение
#6
|
Студент Группа: Участник Сообщений: 66 Регистрация: 26.11.2007 Пользователь №: 24 Спасибо сказали: 2 раз(а) Репутация: 1 |
Неужели никто не сталкивался? Или все пересобирают, зависимое от статкилибы приложение, вручную при каждом изменении этой либы? Скиньте, пожайлуста, свой файл проекта, кому удалось таки автоматизировать.
|
|
|
frg10 |
7.12.2009, 14:39
Сообщение
#7
|
Студент Группа: Участник Сообщений: 47 Регистрация: 8.11.2009 Из: Ростов-на-Дону Пользователь №: 1213 Спасибо сказали: 5 раз(а) Репутация: 2 |
Я для gcc под Linux делал так:
Плохо, конечно, что все либы приходится руками прописывать, но зато работает |
|
|
Kagami |
7.12.2009, 14:50
Сообщение
#8
|
Старейший участник Группа: Участник Сообщений: 601 Регистрация: 2.2.2009 Пользователь №: 523 Спасибо сказали: 101 раз(а) Репутация: 9 |
Я в Qt Creator работаю. Он позволяет галочками отметить проекты, от которых зависит текущий. Они в свою очередь могут зависеть от других проектов и т.д.
|
|
|
QCasper |
7.12.2009, 14:57
Сообщение
#9
|
Студент Группа: Участник Сообщений: 66 Регистрация: 26.11.2007 Пользователь №: 24 Спасибо сказали: 2 раз(а) Репутация: 1 |
Это, как я понял, работает следующим образом. Если изменился сам файл либы (не исходники) до при команде make для приложения, последнее будет пересобрано. Это решает половину задачи. Вторая половина подразумевает, что команда make для приложения инициирует также и сборку всех либ, от которых оно зависит.
Но, в любом случае, за это тоже спасибо Я в Qt Creator работаю. Он позволяет галочками отметить проекты, от которых зависит текущий. Они в свою очередь могут зависеть от других проектов и т.д. Попробуйте следующее. Измените статиклибу, от которой зависит приложение и нажмите кнопку запуска. В результате у Вас либа пересоберётся, а приложение нет. В итоге изменений в запущенном приложении Вы не увидите. По крайней мере у меня не получилось. Галочку поставил. Qt Creator 1.3.0. Впрочем, вкупе с вариантом, предложенным frg10, работать должно. Что само по себе уже неплохо. Теперь бы вариант, работающий без Qt Creator, было бы совсем здорово Сообщение отредактировал QCasper - 7.12.2009, 15:02 |
|
|
Kagami |
7.12.2009, 15:06
Сообщение
#10
|
Старейший участник Группа: Участник Сообщений: 601 Регистрация: 2.2.2009 Пользователь №: 523 Спасибо сказали: 101 раз(а) Репутация: 9 |
Попробуйте следующее. Измените статиклибу, от которой зависит приложение и нажмите кнопку запуска. В результате у Вас либа пересоберётся, а приложение нет. В итоге изменений в запущенном приложении Вы не увидите. По крайней мере у меня не получилось. Галочку поставил. Qt Creator 1.3.0. Для этого можно воспользоваться пунктом меню "Пересобрать все" |
|
|
Текстовая версия | Сейчас: 27.12.2024, 21:26 |