Slightly off-topic, but...

Brian Dessent
Tue May 29 19:46:00 GMT 2007

Eric Lilja wrote:

> Hi, I've installed qt-win-opensource-4.2.3-mingw.exe from trolltech and
> I'm using the tools installed by cygwin to develop Qt programs. Well,
> one could argue I'm not really using cygwin because I have to pass
> -mno-cygwin when compiling otherwise I get errors for non-trivial programs.

Yes, this question should really be to the MinGW list.

> Anyway, -mno-cygwin makes the executables dependent on mingwm10.dll
> instead of cygwin1.dll, correct? Since my QT programs depend on this dll

mingwm10.dll is a small stub DLL used to free TLS allocations when a
thread is destroyed, preventing a memory leak.  That is all it does; the
only reason it is a DLL and not statically linked in as part of the
runtime like all other parts of MinGW is because it must be a DLL so
that it can have a DllMain that gets called on THREAD_DETACH.  And note
that you only get this dependency on this DLL if you use -mthreads,
which is a requirement if you want thread-safe exception handling.

> I can only start them from a cygwin shell since cygwin itself is not in
> windows path (and I don't think it should be).

I see what you're saying (that Cygwin puts mingwm10.dll in /usr/bin as
part of the mingw-runtime package), but really Cygwin is totally
irrelevant here.  The only thing that matters is mingwm10.dll, which you
can easily copy anywhere without worry, since this file does essentially
one tiny minor task and is very different than cygwin1.dll that contains
the entire Cygwin runtime support code.

> My question is how safe is it to put mingwm10.dll in the windows path so
> I can start my qt programs from explorer? That would mean having two
> copies of the same dll in the path under cygwin...which I know is bad
> for cygwin1.dll. I was thinking of writing a startup script that checks
> that the files are identical so I know when I need to update the copy. I
> also tried to put a shortcut to the dll but that didn't work which was
> very unfortunate I think.

It should be fine.  mingwm10.dll doesn't change often or even at all,
and I suspect if there was a major change the '10' would be bumped to
differentiate it from the previous version.


Unsubscribe info:
Problem reports:

More information about the Cygwin mailing list