- Subject: Re: Installer for WJED available
- From: "John E. Davis" <davis@xxxxxxxxxxxxx>
- Date: Sat, 5 Mar 2005 10:09:14 -0500
SANGOI DINO <SANGOID@xxxxxxxxxxxxxxxxx> wrote:
>I'm also trying to be able to use modules on windows. The runtime =
>linking is
>very easy: Windows has functions that map mostly 1:1 to Linux dlopen() =
>and
>friends.
That's good to hear.
>The problem is that Windows by default does not export symbols if not
>explicity requested. You can request exporting using =
>'__declspec(dllexport)'
>on the function declaration, or creating a .def file containing all the
>exported symbols, and passing this file to the linker.
The source contains two types of symbols: those that are in the public
API with names of the form SL* and those that are private to the
library _pSL*. Would both need to be give the __declspec(dllexport)
attribute?
How does this work? Is it sufficient to do something like:
#ifdef __WIN32__
#define EXPORT __declspec(dllexport)
#else
#define EXPORT
#endif
and then change declarations in slang.h to, e.g.,
EXPORT int SLang_get_error ();
?? Or must this be put in the source code where SLang_get_error is
actually defined? And should the private symbols (_pSL*) get the same
treatment? I will probably move some such as _pSLvsnprintf to the
public API.
What changes would be required to makefile.all to create such a dll?
Thanks,
--John
--------------------------
To unsubscribe send email to <jed-users-request@xxxxxxxxxxx> with
the word "unsubscribe" in the message body.
Need help? Email <jed-users-owner@xxxxxxxxxxx>.
[2005 date index]
[2005 thread index]
[Thread Prev] [Thread Next]
[Date Prev] [Date Next]