"Alexander Tumin" <[email protected]> wrote:

As you can see in Makefile; module.c is compiled twice:
* once linked staticly with libstatic_curl.a and
* once linked dynamicly with libcurl-4.dll

There is no problems with dynamic build - it just works perfectly as expected.

The problem is that when it is linked staticly: all module's symbols
becomes completely inaccessible with
GetProcAddress() function from <windows.h> - it just returns NULL for anything.

A "static" DLL is a self-contradiction. At least when you build it like this:

module_static.dll: module.c
$(CC) -L . -shared module.c -o module_static.dll -DCURL_STATICLIB 
libstatic_curl.a -lws2_32

module_static.dll will have nothing to export because of 'CURL_STATICLIB'. I.e.
'CURL_EXTERN' in <curl/curl.h> is not '__declspec(dllimport)' as is required 
when
using libcurl dynamically.

Verify this with 'pedump module_static.dll' and 'depends'.

--gv
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html

Reply via email to