![]() |
|
![]() ![]() ![]() |
|
CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / Репутация: нет Всего: 31 |
Привет!
Допустим, у меня есть несколько связанных проектов Qt в qtCreator (например, несколько статических либ и несколько гуёв или клиент и сервер) как лучше организовать работу? в VS можно создать солюшан, в котором будут сидеть несколько проектов. как подобное реализовать в qt creator? иногда собрав один проект, требуется сразу пересобрать какие-то зависимые. Как это сделать одним нажатием на билд? Это сообщение отредактировал(а) CompWorm - 15.8.2012, 23:01 |
|||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 23 Всего: 72 |
Создаётся subdir проект,
В подкаталогах mylibrary myserver myclient размещаются вложенные проекты. Ресурсы в разных проектах ложить под разными префиксами - в дизайнере Qt Creator будет предлагать ресурсы из всех проектов, с одинаковым префиксом их будет не различить, а из клиента можно пользоваться ресурсами только клиента и библиотеки, но не сервера. |
|||
|
||||
CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / Репутация: нет Всего: 31 |
math64,
спасибо+, это получилось. хорошо, а кто может наглядно рассказать какая должна быть файловая структура проекта? то есть допустим есть гуи, либы, сторонние либы, вспомогательные тулзы и ресурсы. в конечном итоге юзеру выдаются исходники, которые должны собираться обычным сишным компилятором под его платформу. Когда всё собрано, программа должна без проблем заворачиваться в пакет с помощью checkinstall под линем и в инстоляшку под виндой (это конечно будет делаться скриптами, но тут важно чтоб структура проекта способствовала простоте). основная идея, я так понимаю - иметь отдельную папку для исходников (туда исходники будем качать с svn) и отдельное место для сборки, конечных бинарей и либ. я почитал, что с CMake проекты qt настраивать очень геморно для разных платформ... какие есть предложения? как вы организуете свои проекты? |
|||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 23 Всего: 72 |
QtCreator умеет работать с CMake. Но файл проекта придётся редактировать вручную.
Как в CMake подключить ресурсы, ui, moc - не знаю. Использую qmake, проекты объединяю с помощью subdirs. В каждом подпроекте указываю каталоги для исходников, промежуточных файлов, бинарника. Пользуюсь Mercurial - но push и merge делаю из командной строки. |
|||
|
||||
CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / Репутация: нет Всего: 31 |
звучит напряжно.
ещё кто-нибудь пробовал красиво структурировать проект? Добавлено через 2 минуты и 57 секунд может статьи толковые кто видел? |
|||
|
||||
CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / Репутация: нет Всего: 31 |
Ладно, раз больше желающих высказаться нет, пишу свой вариант:
нашёл пару статей по сборки qt проекта из cmake раз, два у меня собралось с cmake v2.8.9 без проблем. общую структуру проекта избрал следующую:
Source не гадим, контролируем его через svn/git , у него же в корне лежит файл cmake по которому все собирается в папку Build. такая структура удобна и тем, что достаточно тривиальным скриптом на линуксовом сервере сборки всё чудным образом собирается, закатывается в пакет с checkinstall и через wine создаётся виндус инстоляшка. пока всё просто, но по мере усложнения возможно появятся вопросы... ![]() Добавлено через 9 минут и 20 секунд да, вот это я пока не придумал как настроить. тут проблема в том, что корневой каталог для сборки указывается в *.pro.user файле, а в *.pro пути указываются уже относительно этого адреса... то есть каждый кто скачал проект, должен как - то вручную все пути вписывать в настройках, что не очевидно и черевато ошибками при коммитах, так как по умолчанию qtCreator всё собирает там же где и исходники.... ![]() |
|||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 23 Всего: 72 |
У меня структура такая:
Насторойки для project1 создаются вручную, для project2 копипастятся. При добавлении нового файла в проект нужно следить, чтобы QtCreator положил его в нужный каталог. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |