[Libav-user] How to know the output libraries names

Lucas Soltic lucas.soltic at orange.fr
Fri Sep 6 19:12:43 CEST 2013


Le 6 sept. 2013 à 12:11, Carl Eugen Hoyos <cehoyos at ag.or.at> a écrit :

> Lucas Soltic <lucas.soltic at ...> writes:
> 
>>>> On Unix platforms there are ".so" and ".so.version", 
>>>> and on Windows, there are ".dll" and "-version.dll".
>>> 
>>> I probably misunderstand but are you suggesting that we 
>>> name the Unix shared libraries *.dll ?
>>> (Or the Windows shared libraries *.so ?)
>> 
>> Hi,
>> No, Linux correctly uses .so and Windows .dll.
> 
> I did misunderstand...
> 
>> The annoying point is the version suffix because of 
>> course it changes when I update FFmpeg.
> 
> It should not change.
> 
> Or in other words: It only changes if updating your 
> libraries would break your existing applications, 
> so the change was (really, really) needed.

Hmm you're right, I understand your point.

> Sorry, I am not sure if you are 100% comfortable with 
> how dynamic linking (on unix-like systems) work, so 
> I am unsure what your problem is.
> (To make sure: I am not implying I am.)
> 
> You simply need the versions at runtime, they have 
> absolutely no relevance at compile time (because 
> when installing the libraries, a symbolic link is 
> added to make sure you link against the current 
> library version while having old version/versions 
> still installed). At compile time, you should 
> always link against "xyz.so" (or actually "xyz" 
> because the linker will add "so"), not ".so.99".

I was more or less comfortable with dynamic linking (actually not 100% so thanks for the clarification!)
But.. well, the linking issue is only on Windows. The issue I had both on Windows and Unix was with the CMake install rule.

> I am *guessing* that you actually want static 
> linking in your case.

Not sure if my previous answers weren't clear but.. no, I want dynamic linking.

Anyway, I've actually found a *somewhat* clean solution: instead of installing the files, I install the directory that contains the FFmpeg libraries (I've copied them to a single directory). And this works great on every platform :)

So no more need to worry about this issue, everything works fine now!

Thanks to all of you for your time :)
Lucas

> Carl Eugen
> 
> _______________________________________________
> Libav-user mailing list
> Libav-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/libav-user



More information about the Libav-user mailing list