hello everybody,
i build my Qt applications static using MinGw but there is a dll that must be exist
which is MinGwM10.dll
i am already have static version of Qt.
how can i kill MingwM10.dll dependency?:confused:
Printable View
hello everybody,
i build my Qt applications static using MinGw but there is a dll that must be exist
which is MinGwM10.dll
i am already have static version of Qt.
how can i kill MingwM10.dll dependency?:confused:
Please, search the forums before starting new threads. See Qt Centre wiki: [WIKI]Building static Qt on Windows[/WIKI].
excuse me but i did just as described in the wiki i am using MinGw
so i changed mkspecs win32-g++ from
QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
to
QMAKE_LFLAGS = -static -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
and i add in my *.pro file the line
config = static
and My Qt version is built static using the following configuration
configure -static -release -platform win32-g++
after all that when i built my application and try to execute it on different machine a message appears says that the application need mingwm10.dll
what is my wrong????
Did you also rebuild Qt after modifying mkspecs? On wiki, modifying mkspecs is advised as one of the steps before building Qt. Your current version of Qt depends on mingwm10.dll. You have to rebuild Qt without the dependency (now that you have modified mkspecs).
thank you i will build it again.
i built Qt as follows after i changed the mkspecs as follows
from:
QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
to:
QMAKE_LFLAGS = -static -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
i opend the cmd and wrote the following command:
mingw32-make
i toke about 5 hours
and then i built my program and executed it in another machine and it said thet it needs mingwm10.dll
what is the problem?
Did you reconfigure qt? I see you already had Qt configured for -static, but maybe it needs a reconfigure after changing the mkspecs. Perhaps a make conf-clean and reconfigure would help... Otherwise I don't know. The instructions worked for me..
Oh wait. You need to use the parameter -no-exceptions when you configure Qt, try that and rebuild Qt and your app.
thank you i will try
This presupposes that you aren't using exceptions. If you are, and you are using threads (which I believe is unavoidable for Qt GUI apps), then so far as I can see just from a little googling, you cannot eliminate the dependency on mingwm10.dll -- here is a (perhaps out-of-date, from 2000) possible explanation of why from (the pthreads-win32 list:
Nonetheless, it seems there may be some ongoing efforts to create a work-around for this:Quote:
The mingwm10 must be build as a dll, because it use features the from
DllMain (thread detach ) to cleanup eh after thread termination (free some
memory).
http://sourceforge.net/mailarchive/m...DD%40gmail.com
thank you every body , Qt must be reconfigured and i did that and my programs are fully static