[Libav-user] How to know the output libraries names
Carl Eugen Hoyos
cehoyos at ag.or.at
Fri Sep 6 12:11:10 CEST 2013
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.
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 am *guessing* that you actually want static
linking in your case.
Carl Eugen
More information about the Libav-user
mailing list