Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Static & Shared в одной папке
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt инструментарий
daorus
Сейчас у меня установлено две копии qt - динамическая и статическая, каждая по ~1,8 Гб. Во время сборки переключаю их через QTDIR Но при этом в папке со статиком свободно лежат все динамические компоненты и никто никому не мешает. Возникает вопрос. А может кто знает, есть ли способ юзать только одну папку в которой живут и динамические и статические компоненты, а уборкой управлять всего лишь на уровне *.pro файла, например так
CONFIG += static - берет статические компоненты
CONFIG += shared - берет динамические компоненты
Litkevich Yuriy
Цитата(daorus @ 5.12.2010, 13:20) *
Но при этом в папке со статиком свободно лежат все динамические компоненты и никто никому не мешает.
к ним интерфейсных файлов нет (*.a)
При сборке Qt динамически лежат:
*.dll и соответсвующие им *.a (интерфейсные)
а для статической - только *.a (полные)

сравни размеры этих *.a файлов.
daorus
А ещё у динамических есть 4-ка в имени, а у статических 4-ки нет. Проблема в том, что qmake не реагирует на CONFIG+=static. А на что именно он реагирует, я никак понять не могу. Я думал, что может эти настройки прошиты в сам qmake.exe, но перенос из qt в qtstatic файла qmake.exe - он всё равно генерит статический проект. Я пробовал переносить по одной папке: src, mkspecs, lib, из bin всё выкинул, оставив только qmake - ничего не помогло. Остается только один вариант - на сборку влияют *.pri файлы в lib-папке, но что-то я не могу найти там слова static. В общем, пока живу как обычно, с двумя фреймворками по 1,8 гига каждый.
DmP
Цитата(daorus @ 5.12.2010, 18:54) *
... Проблема в том, что qmake не реагирует на CONFIG+=static. ... В общем, пока живу как обычно, с двумя фреймворками по 1,8 гига каждый.

В былые времена собирал и то и другое в одной папке.
Скажем, собирается сначала shared сборка, потом нужно переименовать qtmain[d].lib (хотя может и не нужно), потом собирается static - в минимальном наборе - только сами библиотеки.
Друг другу они не мешают, если не задается CONFIG +=static, можно попробовать добавить строку CONFIG -= shared.
Ну и конечно нет смысла держать 1,8 гига, nmake clean ни кто не отменял.
Litkevich Yuriy
qmake ориентируется по фалам из каталога %QTDIR%/mkspecs
В частности qconfig.pri, и компиллер-зависимым.

П.С.
В qmake может быть и зашит тип сборки, как, например, пути к корню Qt
DmP
Цитата(Litkevich Yuriy @ 6.12.2010, 20:37) *
qmake ориентируется по фалам из каталога %QTDIR%/mkspecs
В частности qconfig.pri, и компиллер-зависимым.

П.С.
В qmake может быть и зашит тип сборки, как, например, пути к корню Qt

Все настройки находятся в configure.cache и .qmake.cache. Ни чего в qmake не вшивается.
Litkevich Yuriy
Цитата(DmP @ 6.12.2010, 22:54) *
Все настройки находятся в configure.cache и .qmake.cache.
это не настройки, это всего лишь кэш, удали их и ничего не потеряется. Кэшь нужен для тех кто часто пересобирает Qt, чтобы аргументы командной строки всякий раз руками не набирать
DmP
Цитата(Litkevich Yuriy @ 6.12.2010, 21:02) *
Цитата(DmP @ 6.12.2010, 22:54) *
Все настройки находятся в configure.cache и .qmake.cache.
это не настройки, это всего лишь кэш, удали их и ничего не потеряется. Кэшь нужен для тех кто часто пересобирает Qt, чтобы аргументы командной строки всякий раз руками не набирать

Вообще то немного теряется, но в общем да, похоже настройки лежат в mkspecs/qconfig.pri и mkspecs/default/qmake.conf, но не в самом qmake.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.