Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: neosapient от Июль 24, 2016, 01:15



Название: [РЕШЕНО] Как организовать несколько сборок QT5.6 под windows? мало HDD-памяти
Отправлено: neosapient от Июль 24, 2016, 01:15
Здравствуйте.

Хочу организовать несколько сборок QT5.6 под windows:
- x86 shared
- x86 static
- x64 shared
- x64 static
(сборку осуществляю с помощью Visual Studio 2012)
Можно под каждое из 4х сочетаний дублировать исходники 'Qt/5.6/Src', но исходники много весят. Сборку делаю на VPS и на диске мало места.

1) Первая задача, которую хочу решить - это отказаться от дублирования исходников 'Qt/5.6/Src' каждый раз под новую сборку.
Я пытался задействовать параметр 'configure -prefix', ожидая, что файлы переместятся в указанную папку по завершении сборки. Но собранные файлы не переместились по нужному пути. Параметры я задвал так:
Цитировать
configure -shared -platform win32-msvc2012 -prefix "C:\Qt\5.6\x86-shared" -release -opensource -confirm-license -nomake examples -nomake tests -nomake tools
Цитировать
configure -static -platform win32-msvc2012 -prefix "C:\Qt\5.6\x86-static" -release -opensource -confirm-license -nomake examples -nomake tests -nomake tools
Как автоматически указать сборщику, куда следует в итоге переместить собранные библиотеки?
(То есть собранные файлы остались лежать в папках по умолчанию, например, C:\Qt\5.6\Src\qtbase\bin)


2) Вторая задача - если я в папке с исходниками 'Qt/5.6/Src' собрал какое-нибудь сочетание, например, 'x86 shared', то уже не могу нормально пересобрать другое сочетание библиотек, например, 'x86 static'. В этом случае надо как минимум удалять все *.obj-файлы. Но если случайно удалить какую-нибудь release-папку, то будущая сборка ломается, так как система не додумывается создать папку заново.
Как автоматически удалить все созданные компилятором временные файлы?


Название: Re: Как организовать несколько сборок QT5.6 под windows? мало дискового пространства
Отправлено: Racheengel от Июль 24, 2016, 02:00
1) после окончания сборки сделать nmake install.
2) после п.1. можно, собственно, удалить полностью каталог сборки и заново распаковать туда "чистые" исходники (мы так делали).


Название: Re: Как организовать несколько сборок QT5.6 под windows? мало дискового пространства
Отправлено: Old от Июль 24, 2016, 07:55
2) после п.1. можно, собственно, удалить полностью каталог сборки и заново распаковать туда "чистые" исходники (мы так делали).
make confclean
make distclean


Название: Re: Как организовать несколько сборок QT5.6 под windows? мало дискового пространства
Отправлено: kambala от Июль 24, 2016, 12:30
http://www.npcglib.org/~stathis/blog/precompiled-qt4-qt5/


Название: Re: Как организовать несколько сборок QT5.6 под windows? мало дискового пространства
Отправлено: vipet от Июль 24, 2016, 17:52
Купить винт побольше или даже два!


Название: Re: Как организовать несколько сборок QT5.6 под windows? мало дискового пространства
Отправлено: Bepec от Июль 24, 2016, 19:48
Как ни странно я за "купить винт побольше".
По сегодняшним временам они стоят копейки, не обязательно новый, можно и б/у. Если ноут, то можно и переносной взять, цена почти одинакова.


Название: Re: Как организовать несколько сборок QT5.6 под windows? мало дискового пространства
Отправлено: neosapient от Июль 24, 2016, 21:29
1) после окончания сборки сделать nmake install.

Racheengel, спасибо!
Да, команда nmake install перемещает все собранные библиотеки по нужному мне пути (раньше про неё не знал)

make confclean
make distclean

Old, спасибо!
Команда nmake confclean отчищает исходники от созданных файлов (раньше про неё не знал)


http://www.npcglib.org/~stathis/blog/precompiled-qt4-qt5/

kambala, спасибо.
Ссылка полезная. Да, при сборке статической версии библиотеки надо руками прописывать MT и MTd в файле %QT5%\Src\qtbase\mkspecs\common\msvc-desktop.conf


Спасибо всем, кто ответил - ответы очень помогли. Вопрос закрыт.


Название: Re: [РЕШЕНО] Как организовать несколько сборок QT5.6 под windows? мало HDD-памяти
Отправлено: lit-uriy от Июль 26, 2016, 06:42
Дополню.

>Как автоматически указать сборщику, куда следует в итоге переместить собранные библиотеки?
Можно делать теневую сборку, т.е. все команды по сборке выполнять в целевом каталоге, в него всё и будет валится (для винды справидливо, для других систем - не знаю)


Название: Re: [РЕШЕНО] Как организовать несколько сборок QT5.6 под windows? мало HDD-памяти
Отправлено: __Heaven__ от Июль 27, 2016, 10:42
make confclean
У меня это никогда не срабатывало...
Цитировать
mingw32-make: *** No rule to make target 'confclean'.  Stop.
Баг сегодня отмечает пятый день рождения QTBUG-20566 (https://bugreports.qt.io/browse/QTBUG-20566).


Название: Re: [РЕШЕНО] Как организовать несколько сборок QT5.6 под windows? мало HDD-памяти
Отправлено: Akon от Июль 29, 2016, 15:09
Вообще, полезно сохранять папку исходников девственно нетронутой. Для этого рядом с папкой исходников (или в любом другом месте) создаете папки сборки:
Код:
qt-src
qt-x86-static
qt-x86-shared
...
Далее переходите в папку сборки и оттуда вызываете configure/make:
Код:
cd qt-x86-static
../qt-src/configure <params>
make