Subject: Re: How to compile with gcc/cygwin for "multithreaded DLL" access?
From: Brian Dessent <[email-masked]>
To: [email-masked]
Date: Wed, 23 Mar 2005 23:05:51 -0800

[email-masked] wrote:

> cygcheck testSicl.exe
> Found: .\testSicl.exe
> testSicl.exe
>   C:\cygwin\bin\cygwin1.dll
>     C:\WINDOWS\system32\ADVAPI32.DLL
>       C:\WINDOWS\system32\ntdll.dll
>       C:\WINDOWS\system32\KERNEL32.dll
>       C:\WINDOWS\system32\RPCRT4.dll
>   .\SICL32.dll
>     C:\WINDOWS\system32\VERSION.dll
>     C:\WINDOWS\system32\MSVCR70.dll

<http://cygwin.com/faq/faq.html#SEC98>

It's pretty much guaranteed that your program will crash and burn if it
links against both Cygwin1.dll and MSVCRT*.DLL.  They both provice a C
runtime, and trying to mix two implementations of that same runtime is a
no-no.

It looks like this sicl32 dll was linked against msvcrt, so you'll have
to recompile it against cygwin1.dll.

(insert friendly reminder here that anything that links with Cygwin1.dll
must be released under GPL or other OSI-approved license)

If you don't have the source for sicl32.dll and you're trying to create
a program that depends on both it and Cygwin1.dll, then you're probably
violating a license somewhere.

Brian

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/