Russian Qt Forum
Апрель 20, 2024, 07:56 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] Как организовать несколько сборок QT5.6 под windows? мало HDD-памяти  (Прочитано 6537 раз)
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-папку, то будущая сборка ломается, так как система не додумывается создать папку заново.
Как автоматически удалить все созданные компилятором временные файлы?
« Последнее редактирование: Июль 24, 2016, 21:32 от neosapient » Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #1 : Июль 24, 2016, 02:00 »

1) после окончания сборки сделать nmake install.
2) после п.1. можно, собственно, удалить полностью каталог сборки и заново распаковать туда "чистые" исходники (мы так делали).
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #2 : Июль 24, 2016, 07:55 »

2) после п.1. можно, собственно, удалить полностью каталог сборки и заново распаковать туда "чистые" исходники (мы так делали).
make confclean
make distclean
« Последнее редактирование: Июль 24, 2016, 08:30 от Old » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #3 : Июль 24, 2016, 12:30 »

http://www.npcglib.org/~stathis/blog/precompiled-qt4-qt5/
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #4 : Июль 24, 2016, 17:52 »

Купить винт побольше или даже два!
Записан
Bepec
Гость
« Ответ #5 : Июль 24, 2016, 19:48 »

Как ни странно я за "купить винт побольше".
По сегодняшним временам они стоят копейки, не обязательно новый, можно и б/у. Если ноут, то можно и переносной взять, цена почти одинакова.
Записан
neosapient
Гость
« Ответ #6 : Июль 24, 2016, 21:29 »

1) после окончания сборки сделать nmake install.

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

make confclean
make distclean

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



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


Спасибо всем, кто ответил - ответы очень помогли. Вопрос закрыт.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #7 : Июль 26, 2016, 06:42 »

Дополню.

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

Юра.
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #8 : Июль 27, 2016, 10:42 »

make confclean
У меня это никогда не срабатывало...
Цитировать
mingw32-make: *** No rule to make target 'confclean'.  Stop.
Баг сегодня отмечает пятый день рождения QTBUG-20566.
Записан
Akon
Гость
« Ответ #9 : Июль 29, 2016, 15:09 »

Вообще, полезно сохранять папку исходников девственно нетронутой. Для этого рядом с папкой исходников (или в любом другом месте) создаете папки сборки:
Код:
qt-src
qt-x86-static
qt-x86-shared
...
Далее переходите в папку сборки и оттуда вызываете configure/make:
Код:
cd qt-x86-static
../qt-src/configure <params>
make
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.142 секунд. Запросов: 23.