Static & Shared в одной папке |
Здравствуйте, гость ( Вход | Регистрация )
Static & Shared в одной папке |
daorus |
5.12.2010, 11:20
Сообщение
#1
|
Студент Группа: Участник Сообщений: 20 Регистрация: 30.10.2010 Пользователь №: 2163 Спасибо сказали: 0 раз(а) Репутация: 0 |
Сейчас у меня установлено две копии qt - динамическая и статическая, каждая по ~1,8 Гб. Во время сборки переключаю их через QTDIR Но при этом в папке со статиком свободно лежат все динамические компоненты и никто никому не мешает. Возникает вопрос. А может кто знает, есть ли способ юзать только одну папку в которой живут и динамические и статические компоненты, а уборкой управлять всего лишь на уровне *.pro файла, например так
CONFIG += static - берет статические компоненты CONFIG += shared - берет динамические компоненты |
|
|
Litkevich Yuriy |
5.12.2010, 11:30
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Но при этом в папке со статиком свободно лежат все динамические компоненты и никто никому не мешает. к ним интерфейсных файлов нет (*.a)При сборке Qt динамически лежат: *.dll и соответсвующие им *.a (интерфейсные) а для статической - только *.a (полные) сравни размеры этих *.a файлов. |
|
|
daorus |
5.12.2010, 18:54
Сообщение
#3
|
Студент Группа: Участник Сообщений: 20 Регистрация: 30.10.2010 Пользователь №: 2163 Спасибо сказали: 0 раз(а) Репутация: 0 |
А ещё у динамических есть 4-ка в имени, а у статических 4-ки нет. Проблема в том, что qmake не реагирует на CONFIG+=static. А на что именно он реагирует, я никак понять не могу. Я думал, что может эти настройки прошиты в сам qmake.exe, но перенос из qt в qtstatic файла qmake.exe - он всё равно генерит статический проект. Я пробовал переносить по одной папке: src, mkspecs, lib, из bin всё выкинул, оставив только qmake - ничего не помогло. Остается только один вариант - на сборку влияют *.pri файлы в lib-папке, но что-то я не могу найти там слова static. В общем, пока живу как обычно, с двумя фреймворками по 1,8 гига каждый.
|
|
|
DmP |
6.12.2010, 2:45
Сообщение
#4
|
Студент Группа: Участник Сообщений: 61 Регистрация: 11.3.2008 Пользователь №: 116 Спасибо сказали: 15 раз(а) Репутация: 2 |
... Проблема в том, что qmake не реагирует на CONFIG+=static. ... В общем, пока живу как обычно, с двумя фреймворками по 1,8 гига каждый. В былые времена собирал и то и другое в одной папке. Скажем, собирается сначала shared сборка, потом нужно переименовать qtmain[d].lib (хотя может и не нужно), потом собирается static - в минимальном наборе - только сами библиотеки. Друг другу они не мешают, если не задается CONFIG +=static, можно попробовать добавить строку CONFIG -= shared. Ну и конечно нет смысла держать 1,8 гига, nmake clean ни кто не отменял. |
|
|
Litkevich Yuriy |
6.12.2010, 20:37
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
qmake ориентируется по фалам из каталога %QTDIR%/mkspecs
В частности qconfig.pri, и компиллер-зависимым. П.С. В qmake может быть и зашит тип сборки, как, например, пути к корню Qt |
|
|
DmP |
6.12.2010, 20:54
Сообщение
#6
|
Студент Группа: Участник Сообщений: 61 Регистрация: 11.3.2008 Пользователь №: 116 Спасибо сказали: 15 раз(а) Репутация: 2 |
qmake ориентируется по фалам из каталога %QTDIR%/mkspecs В частности qconfig.pri, и компиллер-зависимым. П.С. В qmake может быть и зашит тип сборки, как, например, пути к корню Qt Все настройки находятся в configure.cache и .qmake.cache. Ни чего в qmake не вшивается. |
|
|
Litkevich Yuriy |
6.12.2010, 21:02
Сообщение
#7
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
DmP |
6.12.2010, 22:27
Сообщение
#8
|
Студент Группа: Участник Сообщений: 61 Регистрация: 11.3.2008 Пользователь №: 116 Спасибо сказали: 15 раз(а) Репутация: 2 |
Все настройки находятся в configure.cache и .qmake.cache. это не настройки, это всего лишь кэш, удали их и ничего не потеряется. Кэшь нужен для тех кто часто пересобирает Qt, чтобы аргументы командной строки всякий раз руками не набиратьВообще то немного теряется, но в общем да, похоже настройки лежат в mkspecs/qconfig.pri и mkspecs/default/qmake.conf, но не в самом qmake. |
|
|
Текстовая версия | Сейчас: 16.11.2024, 3:05 |