Russian Qt Forum
Ноябрь 05, 2024, 06:23
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Установка, сборка, отладка, тестирование
>
Статическая и Динамическая - Две хозяйки на одной кухне.
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Статическая и Динамическая - Две хозяйки на одной кухне. (Прочитано 11096 раз)
PavelDart
Гость
Статическая и Динамическая - Две хозяйки на одной кухне.
«
:
Ноябрь 05, 2009, 21:03 »
Почитал wiki - образовался вопрос, ответ на него пока не нашёл.
Вот имеется у меня сейчас сконфигурированная на релиз и дебаг версия qt4. Получается она динамическая, так как -static параметр я не указывал.
Мне нужна ещё и статическая сборка.
Вот, к примеру, есть у меня проект, пока без про-файла. Каким способом будет происходить выбор сборки? Заменой путей? Как эти две сборки будут уживаться друг с другом?
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Статическая и Динамическая - Две хозяйки на одной кухне.
«
Ответ #1 :
Ноябрь 05, 2009, 21:29 »
Это определяется файлами библиотеки которые подключены к проекту. Если библиотека содержит сами функции - статически. Но может содержать только вызовы из другого модуля - динамически.
Записан
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: Статическая и Динамическая - Две хозяйки на одной кухне.
«
Ответ #2 :
Ноябрь 05, 2009, 21:33 »
Вариант для IDE
- переключение настроек проекта
Вариант без IDE
- переключение окружения
Записан
Юра.
PavelDart
Гость
Статическая и Динамическая - Две хозяйки на одной кухне.
«
Ответ #3 :
Ноябрь 05, 2009, 22:34 »
Получается вот что,
был бы Creator или Integrator то проблемы с перенастройкой не было бы.
В отсутствие их переключение производится заменой путей.
Вроде бы ничего сложного.
Надо проверить.
Записан
PavelDart
Гость
Re: Статическая и Динамическая - Две хозяйки на одной кухне.
«
Ответ #4 :
Ноябрь 06, 2009, 00:31 »
Собралась статическая сборка.
Не меняя переменных окружения (соответственно п.о. выставил перед установкой статической сборки)
[PavelDart] C:\Qt\projects\first$ echo %path%
С:\MinGW\bin;C:\MinGW\mingw32\bin;
E:\Qt\4.3.4\bin;
- адрес стат. сборки
O:\oraclexe\app\oracle\product\10.2.0\server\bin;
O:\app\PavelDart\product\11.1.0\db_1\bin;
C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\MySQL\Server\bin;
c:\MySQL\Server\include;
скомпилировал helloworld - компилируется debug and release версией. Образуются три макфайла, две папки. Приложение без dll работать отказывается.
Записан
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: Статическая и Динамическая - Две хозяйки на одной кухне.
«
Ответ #5 :
Ноябрь 06, 2009, 00:36 »
>>Приложение без dll работать отказывается.
без которой?
Записан
Юра.
PavelDart
Гость
Re: Статическая и Динамическая - Две хозяйки на одной кухне.
«
Ответ #6 :
Ноябрь 06, 2009, 08:43 »
Цитата: lit-uriy от Ноябрь 06, 2009, 00:36
>>Приложение без dll работать отказывается.
без которой?
Когда имелась только динамическая сборка требовалось 3 dll:
mingwm10.dll
QtCore4.dll
QtGui4.dll
Сейчас программа не запускается только без mingwm10.dll
Вот эту строчку из Makefile.Release извлёк:
-DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN
Записан
Joss
Гость
Re: Статическая и Динамическая - Две хозяйки на одной кухне.
«
Ответ #7 :
Ноябрь 06, 2009, 12:38 »
Вы плохо изучили wiki, там есть описание сборки без mingwm10.dll
Добавить в файле <QTDIR>\mkspecs\win32-g++\qmake.conf
в строчку
QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
ключ
-static
Записан
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: Статическая и Динамическая - Две хозяйки на одной кухне.
«
Ответ #8 :
Ноябрь 06, 2009, 18:30 »
PavelDart
, Может оказаться полезным -
тык
Записан
Юра.
PavelDart
Гость
Re: Статическая и Динамическая - Две хозяйки на одной кухне.
«
Ответ #9 :
Ноябрь 06, 2009, 19:38 »
Цитата: Joss от Ноябрь 06, 2009, 12:38
Вы плохо изучили wiki, там есть описание сборки без mingwm10.dll
Добавить в файле <QTDIR>\mkspecs\win32-g++\qmake.conf
в строчку
QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
ключ
-static
Нашёл эти строки:
QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads -Wl
QMAKE_LFLAGS_EXCEPTIONS_OFF =
Не повлияет?
Цитата: lit-uriy от Ноябрь 06, 2009, 18:30
PavelDart
, Может оказаться полезным -
тык
Лишним не будет.
---
Сейчас опробовал:
Добавить в файле <QTDIR>\mkspecs\win32-g++\qmake.conf
в строчку
QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
ключ
-static
[/quote]
пробовал в 2 вариантах:
QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc-static
и
QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc,-static
Всё то же - ищет mingwm10.dll
«
Последнее редактирование: Ноябрь 06, 2009, 19:52 от PavelDart
»
Записан
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: Статическая и Динамическая - Две хозяйки на одной кухне.
«
Ответ #10 :
Ноябрь 06, 2009, 20:44 »
ты по моей ссылке второе сообщение почитай (самый первый ключ, который у поминает человек)
Записан
Юра.
PavelDart
Гость
Re: Статическая и Динамическая - Две хозяйки на одной кухне.
«
Ответ #11 :
Ноябрь 06, 2009, 21:47 »
Цитата: lit-uriy от Ноябрь 06, 2009, 20:44
ты по моей ссылке второе сообщение почитай (самый первый ключ, который у поминает человек)
Да, обратил внимание. Надеялся без пересборки обойдётся.
На сколько помню, у меня вот это было:
configure -static -release -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libjpeg
Записан
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: Статическая и Динамическая - Две хозяйки на одной кухне.
«
Ответ #12 :
Ноябрь 06, 2009, 22:25 »
>>На сколько помню, у меня вот это было
Точно можно посмотреть в файле configure.cache
Записан
Юра.
PavelDart
Гость
Re: Статическая и Динамическая - Две хозяйки на одной кухне.
«
Ответ #13 :
Ноябрь 06, 2009, 23:00 »
Собирал qt под виндой собственно для реализации приложения, связанного с Mysql, но в данную конфигурацию поддержку не включил. Ещё понадобится доступ к Oracle 10g. По этому, буду пересобирать qt, но есть подводные камни.
Вот пример:
-qt-sql-<driver>
В PATH пути к папкам bin имеются, по этому, наверное прописывать их ключём -I не надо. Или надо?
Так как надо подключить два драйвера, то, полагаю, подстрока параметров configure.exe будет выглядеть так:
-qt-sql-QMYSQL -qt-sql-QOCI
Записан
PavelDart
Гость
Re: Статическая и Динамическая - Две хозяйки на одной кухне.
«
Ответ #14 :
Ноябрь 09, 2009, 22:15 »
Уважаемые, подскажите, пожалуйста, какие файлы должны быть в директориях, чтобы поддежка mysql и oracle была?
Записан
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...