Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: borisovks от Сентябрь 19, 2010, 00:50



Название: Перемещение расположения qt
Отправлено: borisovks от Сентябрь 19, 2010, 00:50
Здравствуйте столкнулся с такой проблемой: qt у меня по умолчанию в c:\Qt\2010.04\qt

я решил переместить его в папку например c:\Qt\2010.04\qt\4.6.3\ после чего, я захожу в Qt Creator в настройки qt и указываю путь до qmake

после чего он мне пишет что Неверный профиль qt, пожалуйста используйте make install, эта команда не выполняется... что вдруг произошло и что от меня хотят?


Название: Re: Перемещение расположения qt
Отправлено: Mikhail от Сентябрь 19, 2010, 08:28
Произошло то, что вы изменили расположение Qt.
При компиляции или установке Qt в QtCore4.dl сохраняются пути на Qt: типа  qt_libspath=C:\qt\462dmsvc9\lib,
qt_binspath=C:\qt\462dmsvc9\bin.
Простое перемщение папки Qt приведет к неработоспособности.
Выход из положения откорректировать такого типа переменные при перемещении каталога Qt.


Название: Re: Перемещение расположения qt
Отправлено: lit-uriy от Сентябрь 19, 2010, 08:37
>>Выход из положения откорректировать такого типа переменные при перемещении каталога Qt.
где их предлагается откорректировать?

П.С.
В qmake тоже зашиты пути, при генерации Make-файлов он будет использовать, то что зашито в нём


Название: Re: Перемещение расположения qt
Отправлено: borisovks от Сентябрь 19, 2010, 09:25
Хм, спасибо за ответы, а просто выполнение configure не решит проблему в таком случае?


Название: Re: Перемещение расположения qt
Отправлено: pastor от Сентябрь 19, 2010, 11:56
где их предлагается откорректировать?

В qt.conf

Цитировать
The qt.conf file overrides the hard-coded paths that are compiled into the Qt library.

см. раздел в ассистанте Using qt.conf


Название: Re: Перемещение расположения qt
Отправлено: lit-uriy от Сентябрь 19, 2010, 14:47
pastor, я знаю и, вроде, умею пользоваться qt.conf

Однако для самой библиотеки у меня такой трюк не получился (пробовал с полгода назад), были какие-то проблемы при компиляции. Возможно из-за того, что структура каталогов Qt не такая, как при развёртывании приложения.


Название: Re: Перемещение расположения qt
Отправлено: borisovks от Сентябрь 20, 2010, 03:12
Господа, так все же кто может сказать как нужно правильно менять расположение директории с qt и какие действия после этого надо предпринимать, потому-что я в страхе снес все и поставил заного.

Заранее благодарен.


Название: Re: Перемещение расположения qt
Отправлено: lit-uriy от Сентябрь 20, 2010, 05:59
>>как нужно правильно менять расположение директории с qt
Так же как и в случае с Дельфи, Визуал студией и т.п.

Деинсталировать, инсталировать в новый каталог


Название: Re: Перемещение расположения qt
Отправлено: ufna от Сентябрь 20, 2010, 06:31
меня всегда интересовало - а зачем это? Чего так навороченно?


Название: Re: Перемещение расположения qt
Отправлено: borisovks от Сентябрь 20, 2010, 15:33
>>как нужно правильно менять расположение директории с qt
Так же как и в случае с Дельфи, Визуал студией и т.п.

Деинсталировать, инсталировать в новый каталог

Интересно, а как же тогда делают несколько сборок qt после компиляции что, нужно прописывать куда-то пути? я же могу скачать исходники фреймворка и пересобрать их под свои нужды, как тогда я буду им потом пользоваться если пути "вшиты"


Название: Re: Перемещение расположения qt
Отправлено: crossly от Сентябрь 20, 2010, 15:48
они "вошьются" при сборке


Название: Re: Перемещение расположения qt
Отправлено: borisovks от Сентябрь 20, 2010, 15:55
Соответственно, если я перемещаю диру с фреймоврком в другое место, надо просто пересобрать ее? то есть configure && min32-make sub-src?

или достаточно просто configure?


Название: Re: Перемещение расположения qt
Отправлено: crossly от Сентябрь 20, 2010, 16:20
qmake пересобрать точно нужно...


Название: Re: Перемещение расположения qt
Отправлено: lit-uriy от Сентябрь 21, 2010, 06:45
>>или достаточно просто configure?
нет, configure лишь подготовит pro-файлы к сборке.

configure
qmake
make


если уже были make-файлы, то сначало надо их корректно прибить:
make confclean
и только затем перемещать каталог и конфигурировать...

П.С.
про несколько сборок:
Каталог с исходниками всё время лежит где-то и не трогается.
Затем создаётся каталог для конкретной сборки (например: qt46_static), заходим в него и там командуем в таком стиле:
path/to/qtsource_tree/configure
make


это называется теневая сборка, т.е. собираться будет в каталоге qt46_static.

Если нужна ещё одна сборка Qt, опять создаём некий каталог и повторяем всю процедуру в нём.


Название: Re: Перемещение расположения qt
Отправлено: borisovks от Сентябрь 21, 2010, 15:30
lit-uriy, спасибо за огромное за развернутый ответ, это именно то что я хотел услышать, я в данный момент работаю с qt в windows так что qmake и make я так понимаю заменяет mingw32-make?

Да именно по этому я и спрашивал, хочу сделать статик сборку, а то тянуть за екзешником либы на 10+ мб как-то не хочется, надеюсь из них прилинкуется то что надо в экзешник.


Название: Re: Перемещение расположения qt
Отправлено: lit-uriy от Сентябрь 21, 2010, 20:52
>>qmake и make я так понимаю заменяет mingw32-make?
нет. qmake - генератор Make-файлов, штатный инструмент Qt, он входит в комплект. Программа configure, по завершении конфигурации автоматически собирает программу qmake.

Насчёт make - да, для компилятора MinGW32 его название - mingw32-make.

П.С.
если конфигуришь с ключом -fast, то программа configure создаст короткие заготовки make-файлов.
И тогда для сборки по частям (например make sub-src) нужно после конфигурации вызвать qmake, он создаст полноценные make-файлы.
Если собираешь всё или без ключика fast, то qmake вызывать не обязательно, т.к. в заготовках make-файлов как раз и помещён вызов программы qmake.


Название: Re: Перемещение расположения qt
Отправлено: SABROG от Сентябрь 21, 2010, 21:34
qpatch из QtCreator пробовали?


Название: Re: Перемещение расположения qt
Отправлено: borisovks от Сентябрь 22, 2010, 04:42
Хм, а ведь правда, это же файлик из инсталятора Qt SDK он какраз и патчит qmake и QtCore, спасибо надо будет попробовать, не знаю только пока как им пользоваться.

Еще раз всем спасибо за оказанную помощь!