[Bug 669045] New: gstreamermm-0.10.10 does not build on Windows because of __declspec(dllimport) attributes

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Jan 30 08:15:32 PST 2012


https://bugzilla.gnome.org/show_bug.cgi?id=669045
  GStreamer | gstmm | 0.10.10

           Summary: gstreamermm-0.10.10 does not build on Windows because
                    of __declspec(dllimport) attributes
    Classification: Platform
           Product: GStreamer
           Version: 0.10.10
        OS/Version: Windows
            Status: UNCONFIRMED
          Severity: major
          Priority: Normal
         Component: gstmm
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: joaopizani at gmail.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


While trying to compile gstreamermm-0.10.10 using MinGW32, I was getting
several errors related to declarations/definitions of constants in gstclock.h.
Namely, gcc was complaining that:

"external linkage is required because CLOCK_TIME_NONE has attribute
'dllimport'"...

The same error was reported for all the following 4 constants which had
"GLIBMM_API" in their signature.

After searching the interwebs I found out that, indeed, "__declspec(dllimport)"
and "static" are incompatible with each other (internal x external linkage), so
I tried to fiddle with the code, and the only way that I could make the code
build was to remove BOTH static and GLIBMM_API qualifiers from the signatures.
Thus, they became something like this:

"const ClockTime CLOCK_TIME_NONE = GST_CLOCK_TIME_NONE;"

I then built successfully gstreamermm, AND was able to run some test programs
that I wrote - with simple pipelines (decodebin, playbin, etc), so I GUESS I
didn't break anything serious...


Can someone confirm this bug?

I'd be happy to upload a patch to gstreamer/src/clock.hg in case this is really
a bug...

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list