Статическая сборка Qt-4.4.3 без зависимости от mingwm10.dll |
Здравствуйте, гость ( Вход | Регистрация )
Статическая сборка Qt-4.4.3 без зависимости от mingwm10.dll |
Litkevich Yuriy |
1.11.2009, 16:54
Сообщение
#1
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Попробовал повторить всю процедуру описанную на Qt-Центре
При сборке приложения указывал
С помощью Dependency Walker посмотрел и увидел, что зависимость от mingwm10.dll осталась. Может кто-нибудь это прокомментировать? |
|
|
SABROG |
1.11.2009, 19:04
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Ключ -no-exceptions добавил, когда пересобирал Qt? mingwm10.dll как раз отвечает за работу исключений в разных потоках.
Если брать mkspecs для g++, то там линковка mthreads идет, если исключения включены, а mthreads требует как раз mingwm10.dll:
Сообщение отредактировал SABROG - 1.11.2009, 19:07 |
|
|
Litkevich Yuriy |
1.11.2009, 19:17
Сообщение
#3
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
niXman |
1.11.2009, 19:58
Сообщение
#4
|
Участник Группа: Участник Сообщений: 169 Регистрация: 18.6.2008 Пользователь №: 204 Спасибо сказали: 1 раз(а) Репутация: 0 |
|
|
|
Litkevich Yuriy |
1.11.2009, 20:29
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
SABROG |
1.11.2009, 20:40
Сообщение
#6
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Можно на самом деле. В maillist mingw даже прилагали патч, который позволяет избавиться от этой .dll. Но разработчики не хотят (не хотели во всяком случае, сейчас не знаю как обстоят дела). Не хотели по той причине, что в Windows 95,98,ME нет поддержки статических Thread Local Storage (TLS) обратных вызовов (callbacks) вшитых в PE. На этих операционных системах калбэки работают только с .dll через вызов главной функции dllMain с параметром DLL_PROCESS_ATTACH. Соответственно в более современных ОС семейства Windows уже не обязательно должна быть .dll. Если бы даже разработчики сделали статическую версию этой библиотеки и новая mingw собирала программы под Windows 9x, то в таких приложениях была бы утечка памяти.
|
|
|
Litkevich Yuriy |
1.11.2009, 20:59
Сообщение
#7
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
просто весит она копейки и под ногами болтается.
Я её всё время забываю, т.к. на многих машинах она присутствует из-за каких-нибудь программ, но не на всех. |
|
|
Текстовая версия | Сейчас: 23.11.2024, 13:37 |