I am trying to link with a library (I do not have the source) that
uses ffmpeg. I have the various bits installed (I have tried both
openSUSE and Packman versions). When I do this:
gcc source.c -I /usr/include/ffmpeg -lsomelib -lavformat -lavcodec
-lavutil -lswscale
I get this:
/usr/lib/libsomelib.so: undefined reference to
`avformat_alloc_output_context2@LIBAVFORMAT_FFMPEG_56'
/usr/lib/libsomelib.so is a binary for which I do not have the source.
Others claim it should be usable in openSUSE. It is not really called
this.
I get this for a dozen or so functions in the various ffmpeg libs. The
library does contain avformat_alloc_output_context2. But what is the
@LIBAVFORMAT_FFMPEG_56 after the name?
The library is:
lrwxrwxrwx 1 root root 24 Sep 18 14:35 /usr/lib64/libavformat.so
-> libavformat.so.56.40.101
lrwxrwxrwx 1 root root 24 Dec 20 15:17
/usr/lib64/libavformat.so.56 -> libavformat.so.56.40.101
-rwxr-xr-x 1 root root 1896832 Dec 2 18:50 /usr/lib64/libavformat.so.56.40.101
Which seems correct.
I am obviously missing something.
--
Roger Oberholtzer
--
To unsubscribe, e-mail: opensuse-programming+unsubscribe(a)opensuse.org
To contact the owner, e-mail: opensuse-programming+owner(a)opensuse.org