[gst-devel] RE: Win 32 build of 0.8.3
Marc VanDaele
Marc_VanDaele at Jabil.com
Wed Jun 9 07:33:07 CEST 2004
Steve,
> > running "gst-register fakesrc" also fails with the error
> > trying to load global_registry
> > error loading global_registry
>
> How did you manage to go until these instructions ?
I only commented the assignment to _gst_registry_auto_load below. (and made
a debug build)
Looking at it in more detail triggered me
I always thought that a DLL only exports functions (and not variables like
_gst_registry_auto_load)
So I checked MSDN and there I found
"The optional keyword DATA specifies that an export is data, not
code. For example, you could export a data variable as follows:
EXPORTS
i DATA
"
So I tried modifying the gstreamer.def (adding the DATA to
_gst_registry_auto_load)
and then I got an unresolved symbol on _gst_registry_auto_load which was not
what I hoped for :-)
Continuing reading MSDN, I found
"Note that when you export a variable from a DLL with a .def file,
you do not need to specify __declspec(dllexport) on the variable. However,
in any file that uses the DLL, you must still use __declspec(dllimport) on
the declaration of data.
"
Modifying gst-register.c to
__declspec(dllimport) extern gboolean _gst_registry_auto_load;
linked without problems and also didn't trigger the crash anymore.
So I guess the next step is modifying all def files and replacing extern
with "__declspec(dllimport) extern".
Does the "_gst" prefix indicates that it is a variable, not a function?
I can do try this tomorrow; possibly, it also fixes the popt error.
>
> Unfortunately I can't help until tomorrow evening :(
No problem!
Marc
More information about the gstreamer-devel
mailing list