crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Статическая сборка Qt-4.4.3 без зависимости от mingwm10.dll
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 1.11.2009, 20:59
  просто весит она копейки и под ногами болтается.
Я её всё время забываю, т.к. на многих машинах она присутствует из-за каких-нибудь программ, но не на всех.
SABROG Дата 1.11.2009, 20:40
  Можно на самом деле. В 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:29
 
Цитата(niXman @ 1.11.2009, 22:58) *
а может не надо
"надо Вася, надо" @ фильма
niXman Дата 1.11.2009, 19:58
 
Цитата(Litkevich Yuriy @ 1.11.2009, 19:17) *
А нельзя-ли саму dll'ку вкомпиливать в код?

а может не надо ;)
Litkevich Yuriy Дата 1.11.2009, 19:17
 
Цитата(SABROG @ 1.11.2009, 22:04) *
Ключ -no-exceptions добавил
вот его я как раз не стал добавлять. Подумал, а вдруг пригодятся.
А нельзя-ли саму dll'ку вкомпиливать в код?
SABROG Дата 1.11.2009, 19:04
  Ключ -no-exceptions добавил, когда пересобирал Qt? mingwm10.dll как раз отвечает за работу исключений в разных потоках.

Если брать mkspecs для g++, то там линковка mthreads идет, если исключения включены, а mthreads требует как раз mingwm10.dll:

QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads
QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions
Litkevich Yuriy Дата 1.11.2009, 16:54
  Попробовал повторить всю процедуру описанную на Qt-Центре

При сборке приложения указывал
CONFIG += static

С помощью Dependency Walker посмотрел и увидел, что зависимость от mingwm10.dll осталась.
Может кто-нибудь это прокомментировать?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 20.4.2024, 19:24