Russian Qt Forum

Qt => Qt-инструментарий => Тема начата: Гурман от Июнь 06, 2011, 21:07



Название: Два Qt 4.7 на одной станции - QtCreator интерферирует
Отправлено: Гурман от Июнь 06, 2011, 21:07
Как-то раньше с 4.5 не было такой проблемы, на одной станции жили рядом версии для динамической компоновки, и для статической. Запускал Креатор из нужного каталога, и собирал что надо. Свои настройки он сохранял где-то в каталогах проектов или в своих каталогах, но версии не пересекались. Сейчас надо одновременно иметь возможность делать динамическую и статическую сборку, но Креатор ведет себя неожиданно. Запускаю динамическую копию - в ней видны настройки статической, в первую очередь, настройка каталога проектов (Инструменты/Параметры/Проекты/Каталог). Указываю там каталог для динамической сборки проектов, закрываю Креатор. Запускаю его из статической сборки Qt - там почему-то оказывается... каталог, который я указал для динамической сборки, хотя я ожидал, что там останется статический. Он что, теперь настройки в одном месте хранит? В каком? Как же теперь разделить настройки проектов статической и динамической сборки, если у них один и тот же каталог сборки оказывается? >:(


Название: Re: Два Qt 4.7 на одной станции - QtCreator интерферирует
Отправлено: Гурман от Июнь 06, 2011, 21:17
Блин, нашел, тут уже спрашивали - на винде хранит в одном каталоге, на Linux сейчас не могу проверить. Во бред блин, все было раньше нормально, нет взяли и изуродовали... :-(((


Название: Re: Два Qt 4.7 на одной станции - QtCreator интерферирует
Отправлено: lit-uriy от Июнь 07, 2011, 05:19
тебе надо разные инструментарии настроить, и перед компиляцией выбрать нужный


Название: Re: Два Qt 4.7 на одной станции - QtCreator интерферирует
Отправлено: b-s-a от Июнь 07, 2011, 11:00
скорей не инструментарии, а профили Qt.
У меня, например, есть профили release/debug для mingw и msvc2008. Причем, в программах debug у меня на базе mingw, а релиз на базе msvc2008. И ничего, все работает без проблем.


Название: Re: Два Qt 4.7 на одной станции - QtCreator интерферирует
Отправлено: LisandreL от Июнь 07, 2011, 11:04
Раз уж речь зашла о профилях - есть вопрос.
Есть QtCreator, есть динамическая и статическая Qt mingw.
Можно ли как-то Creator'у «объяснить», что статическая сборка - только release и предлагать для неё не делать debug не надо?


Название: Re: Два Qt 4.7 на одной станции - QtCreator интерферирует
Отправлено: Гурман от Июнь 07, 2011, 12:49
фишка еще в том, что у меня статитческий и динамический - разные проекты, статически должен собираться исполнимый бинарник, а динамически - плагин, файлы проектов разные


Название: Re: Два Qt 4.7 на одной станции - QtCreator интерферирует
Отправлено: b-s-a от Июнь 07, 2011, 15:27
Раз уж речь зашла о профилях - есть вопрос.
Есть QtCreator, есть динамическая и статическая Qt mingw.
Можно ли как-то Creator'у «объяснить», что статическая сборка - только release и предлагать для неё не делать debug не надо?
Я толком тебя не понял, но я просто удаляю лишние варианты сборки в настройках проекта.
фишка еще в том, что у меня статитческий и динамический - разные проекты, статически должен собираться исполнимый бинарник, а динамически - плагин, файлы проектов разные
если у тебя тип проекта subdirs (т.е. несколько проектов в одном общем), то, подозреваю, что никак. Так как qmake используется для всех подпроектов тот же, что и для главного.


Название: Re: Два Qt 4.7 на одной станции - QtCreator интерферирует
Отправлено: Гурман от Июнь 07, 2011, 17:41
отдельные модули - это отдельные проекты, в каталогах одного и того же уровня


Название: Re: Два Qt 4.7 на одной станции - QtCreator интерферирует
Отправлено: lit-uriy от Июнь 07, 2011, 18:38
т.е. Статика - один pro-файл, а динамика - другой?


Название: Re: Два Qt 4.7 на одной станции - QtCreator интерферирует
Отправлено: Гурман от Июнь 07, 2011, 18:56
да


Название: Re: Два Qt 4.7 на одной станции - QtCreator интерферирует
Отправлено: lit-uriy от Июнь 08, 2011, 05:35
Хм, тогда я вообще не понимаю сути проблемы.


Название: Re: Два Qt 4.7 на одной станции - QtCreator интерферирует
Отправлено: Гурман от Июнь 08, 2011, 15:07
хотелось иметь 2 независмые ветки - статическую и динамическую, чтобы они никак не были связаны (даже находились на разных жестких дисках, один из которых съемный), только не изменяемые исходники чтобы совпадали по маршрутам в файлах проектов

теперь придется следить за кустом, в котором эти ветки переплетаются, и не забывать делать полный ребилд при переходе от одной ветки к другой, и для копирования только одной из веток что-то мостырить


Название: Re: Два Qt 4.7 на одной станции - QtCreator интерферирует
Отправлено: Гурман от Июнь 08, 2011, 17:07
вот и наткнулся на косяк из-за интерференции - в основном приложении в проекте стоял маршрут Qt: Qt in PATH, а это статическая сборка, а нужна динамическая, поскольку нужны плагины, в результате потерял день, натыкаясь на то, что QPluginLoader молча не принимает имя плагина, и вместо осмысленной ошибки выдает Unknown error, бился лбом ап стенку, пока не обратил внимание, что бинарник получается слишком большого размера...

а если бы статика и динамика были полностью разделены, такого не случилось бы

причем у меня теперь геморрой с этим будет, проект - это одно основное приложение, и неопределенное число плагинов, которые могут писать другие люди, то есть, похожие ситуации вполне возможны в будущем


Название: Re: Два Qt 4.7 на одной станции - QtCreator интерферирует
Отправлено: b-s-a от Июнь 09, 2011, 12:07
И что ты этим хочешь доказать? Пока что видно только одно - кто-то не умеет настраивать свои проекты.


Название: Re: Два Qt 4.7 на одной станции - QtCreator интерферирует
Отправлено: lit-uriy от Июнь 09, 2011, 14:07
Гурман ты теневую сборку используешь или валишь всё в каталог с исходниками?


Название: Re: Два Qt 4.7 на одной станции - QtCreator интерферирует
Отправлено: Гурман от Июнь 09, 2011, 22:09
Цитировать
кто-то не умеет настраивать свои проекты

у меня не один проект, а множество (по числу плагинов) и смена модели компоновки приводит к ручной перенастройке всех проектов, причем все надо почистить и не забыть выполнить qmake... если бы модели компоновки лежали целиком в разных каталогах, ручная перенастройка бы не требовалась, никакие "умения" тут ни при чем

Цитировать
Гурман ты теневую сборку используешь или валишь всё в каталог с исходниками?

разумеется, теневую


Название: Re: Два Qt 4.7 на одной станции - QtCreator интерферирует
Отправлено: b-s-a от Июнь 10, 2011, 11:12
Гурман, ты явно делаешь что-то не так. Я тоже самое делаю просто переключая профиль Qt в настройках проекта. Но должен заметить, что каталоги сборки должны быть разными для разных профилей.


Название: Re: Два Qt 4.7 на одной станции - QtCreator интерферирует
Отправлено: Гурман от Июнь 10, 2011, 13:36
Цитировать
Я тоже самое делаю просто переключая профиль Qt в настройках проекта. Но должен заметить, что каталоги сборки должны быть разными для разных профилей.

еще раз - проект не единственный, несколько связанных друг с другом проектов (у них общие хидеры, но генерятся разные бинарники - один исполнимый, одна статическая библиотека и несколько динамических), переключать профили надо у каждого

в пределе число проектов достигнет пары-тройки десятков - столько будет динамических библиотек-плагинов

как еще иначе это все можно делать, чтобы получать требуемое, и при этом одним махом менять модель сборки? особенно с учетом того, что для статической сборки и плагины должны быть статические (до этого пока еще руки не дошли)

если бы хотя бы при смене профиля автоматом он менялся у всех проектов, от которых зависит текущий, и которые зависят от текущего - тады ой, это было бы проще


Название: Re: Два Qt 4.7 на одной станции - QtCreator интерферирует
Отправлено: b-s-a от Июнь 10, 2011, 15:15
Для этого существует другой тип проекта. Обрати внимание на subdir project.


Название: Re: Два Qt 4.7 на одной станции - QtCreator интерферирует
Отправлено: Гурман от Июнь 10, 2011, 15:53
это про
Код:
TEMPLATE = subdirs

SUBDIRS = ... \
               ...

?

как это повлияет, если модель сборки все равно указывается каждому проекту отдельно и сохраняется не в .pro файле, а... упс, кстати - где сохраняются все настройки, указываемые в закладке Проекты QtCreator? Настройки сборки, настройки запуска, настройки редактора, зависимости - где это все хранится?




Название: Re: Два Qt 4.7 на одной станции - QtCreator интерферирует
Отправлено: Mikhail от Июнь 10, 2011, 19:03
project_name.pro.user


Название: Re: Два Qt 4.7 на одной станции - QtCreator интерферирует
Отправлено: Гурман от Июнь 12, 2011, 16:15
да, уже нашел... и что - в случае subdir project настройка модели работает как-то иначе? не получается найти подробного описания, а без точного понимания нет смысла переделывать всё