[FFmpeg-devel] Why 'You can only build one library type at once on MinGW'?

Zuxy Meng zuxy.meng
Wed May 9 10:57:51 CEST 2007


2007/5/9, Michel Bardiaux <mbardiaux at mediaxim.be>:
> M?ns Rullg?rd wrote:
> > "Zuxy Meng" <zuxy.meng at gmail.com> writes:
> >
> >> Hi,
> >>
> >> I don't understand. IIRC shared and nonshared objects are the same
> >> under Windows,
> No they're not.

Any details?

> >> while under Linux they're different (shared objects
> >> needs to be compiled with -fPIC and access global data through %ebx?),
> No, PIC is usually not required. PIC just guarantees the dso can be
> relocated to any address. Without that its not possible to run when
> there are conflicts of address ranges.
> >> so building the two simultaneously on Windows should be easier! I
> >> removed that warning from configure and succeeded in building static
> >> .a and dynamic .dll at the same time, and full test passed.
> >
> > Look a bit closer at those libraries.  IIRC the linker did some rather
> > crazy things, but the details escape me.
> >
> When using the libraries in Visual-Studio, you need the dll *and* a
> static lib that contains just the exported symbols.
> If the .a obtained is bigger than the dll, then its a 'normal' static
> lib and the dll is useless. If it's small, it can be used to link to the
> dll, but not on its own.

Sure. Under each directory I got a .a, a .dll.a (import lib) and a
dll. I don't see there're any problems.
Beauty is truth,
While truth is beauty.
PGP KeyID: E8555ED6

More information about the ffmpeg-devel mailing list