exports dll symbol methods even if compiled static
Roger Pack <[email protected]> Wed, 5 Sep 2012 12:35:28 -0600
| Newsgroups | gmane.comp.internationalization.fribidi |
|---|---|
| Message-ID | <CAL1QdWcTChWEuZMrzQ2A-Ksx91_SBvYXLf+D92urFVNt9vrMsg@mail.gmail.com> |
Hello all. I noticed that if I cross compile fribdi (for windows) with --enable-static --disable-shared, then I cross compile libass the same way, then attempt to use it, I get this: mingw-w64-i686/i686-w64-mingw32/lib/libass.a(ass_shaper.o): In function `ass_shaper_shape’: win32/libass-0.10.0/libass/ass_shaper.c:611: undefined reference to `_imp__fribidi_get_bidi_types’ even though it's linking against -lfribdi in the proper order. Applying this patch (from the VLC people): +++ fribidi/lib/fribidi-common.h 2008-02-04 21:32:25.000000000 +0000 @@ -53,11 +53,7 @@ /* FRIBIDI_ENTRY is a macro used to declare library entry points. */ #ifndef FRIBIDI_ENTRY -# if (defined(WIN32)) || (defined(_WIN32_WCE)) -# define FRIBIDI_ENTRY __declspec(dllimport) -# else /* !WIN32 */ # define FRIBIDI_ENTRY /* empty */ -# endif /* !WIN32 */ #endif /* !FRIBIDI_ENTRY */ seems to make it "now work" I suppose...maybe...with static libraries it shouldn't be exported this way for windows? Thanks! -roger-