[FFmpeg-devel] Why 'You can only build one library type at once on MinGW'?
Michel Bardiaux
mbardiaux
Wed May 9 10:50:56 CEST 2007
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.
>> 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.
Greetings,
--
Michel Bardiaux
R&D Director
T +32 [0] 2 790 29 41
F +32 [0] 2 790 29 02
E mailto:mbardiaux at mediaxim.be
Mediaxim NV/SA
Vorstlaan 191 Boulevard du Souverain
Brussel 1160 Bruxelles
http://www.mediaxim.com/
More information about the ffmpeg-devel
mailing list