[Libav-user] Error while linking
Anshul
anshul.ffmpeg at gmail.com
Fri Sep 18 22:58:03 CEST 2015
On September 18, 2015 8:59:27 PM IST, gaurav mishra <gauravmishra.itbhu at gmail.com> wrote:
>On Fri, Sep 18, 2015 at 8:30 PM, Paul B Mahol <onemda at gmail.com> wrote:
>
>> On 9/18/15, gaurav mishra <gauravmishra.itbhu at gmail.com> wrote:
>> > Hi,
>> > I have written a app using ffmpeg's library and am able to compile
>and
>> run
>> > it on my mac (slighly older version of ffmpeg installed). But when
>i am
>> > trying to build the code on ubuntu machine i am getting some errors
>> > few of them being
>> >
>> > /home/ubuntu/ffmpeg_sources/ffmpeg/libavformat/rtmpproto.c:1087:
>> undefined
>> > reference to `inflate'
>> >
>> > /home/ubuntu/ffmpeg_sources/ffmpeg/libavformat/rtmpproto.c:1105:
>> undefined
>> > reference to `inflateEnd'
>> >
>> > /home/ubuntu/ffmpeg_sources/ffmpeg/libavformat/rtmpproto.c:1105:
>> undefined
>> > reference to `inflateEnd'
>> >
>> > /usr/local/lib/libavformat.a(swfdec.o): In function
>`swf_read_packet':
>> >
>> > /home/ubuntu/ffmpeg_sources/ffmpeg/libavformat/swfdec.c:358:
>undefined
>> > reference to `uncompress'
>> >
>> > /usr/local/lib/libavformat.a(swfdec.o): In function
>`swf_read_header':
>> >
>> > /home/ubuntu/ffmpeg_sources/ffmpeg/libavformat/swfdec.c:147:
>undefined
>> > reference to `inflateInit_'
>> >
>> > /usr/local/lib/libavformat.a(swfdec.o): In function `zlib_refill':
>> >
>> > /home/ubuntu/ffmpeg_sources/ffmpeg/libavformat/swfdec.c:115:
>undefined
>> > reference to `inflate'
>> >
>> > /usr/local/lib/libavformat.a(swfdec.o): In function
>`swf_read_close':
>> >
>> > /home/ubuntu/ffmpeg_sources/ffmpeg/libavformat/swfdec.c:523:
>undefined
>> > reference to `inflateEnd'
>> >
>> > /usr/local/lib/libavcodec.a(cscd.o): In function `decode_frame':
>> >
>> > /home/ubuntu/ffmpeg_sources/ffmpeg/libavcodec/cscd.c:91: undefined
>> > reference to `uncompress'
>> >
>> > /usr/local/lib/libavcodec.a(dxa.o): In function `decode_frame':
>> >
>> > /home/ubuntu/ffmpeg_sources/ffmpeg/libavcodec/dxa.c:250: undefined
>> > reference to `uncompress'
>> >
>> >
>> > the list of undefined reference errors is quite huge.
>> >
>> > the command which i am using to link looks like this--
>> >
>> > g++ file1.o file2.o file3.o -L/usr/lib/x86_64-linux-gnu
>> -L/usr/local/lib
>> > -L/home/ubuntu/casablanca/Release/build.release/Binaries -lpthread
>> > -lavutil -lavformat
>> > -lavcodec -lavfilter -lboost_system -lboost_thread -lboost_chrono
>> -lcpprest
>> > -lswscale -o final
>>
>>
>> Hmm try linking with -lzlib too.
>>
>
>After some trial and errors i figured out the command to make it work.
>i
>had to link lzlib, libx264, libfdk-aac ,libopus -libva to make it work.
>
>-lavformat -lavcodec -lavutil -lpthread -lz -lfdk-aac -lx264 -lopus
>-lswresample -lva -lboost_system -lboost_thread -lboost_chrono
>-lcpprest
> I wonder why the build worked on my mac with just following libs -
>-lavformat -lavcodec -lavutil -lboost_system -lboost_thread
>-lboost_chrono
>-lcpprest
>
>>
>> > the issue seems to be related to order of linking. is there a
>mistake in
>> > order in which i am linking the libs.
>> > PS - lpthread was not required when i was building on my mac.
>> >
>> > following is the output of ffmpeg -i
>> >
>> > ffmpeg version N-75410-g58fe57d Copyright (c) 2000-2015 the FFmpeg
>> > developers
>> >
>> > built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04)
>> >
>> > configuration: --enable-gpl --enable-libfdk-aac --enable-libx264
>> > --enable-libopus --enable-nonfree
>> >
>> > libavutil 55. 2.100 / 55. 2.100
>> >
>> > libavcodec 57. 3.100 / 57. 3.100
>> >
>> > libavformat 57. 2.100 / 57. 2.100
>> >
>> > libavdevice 57. 0.100 / 57. 0.100
>> >
>> > libavfilter 6. 5.100 / 6. 5.100
>> >
>> > libswscale 4. 0.100 / 4. 0.100
>> >
>> > libswresample 2. 0.100 / 2. 0.100
>> >
>> > libpostproc 54. 0.100 / 54. 0.100
>> >
>> _______________________________________________
>> Libav-user mailing list
>> Libav-user at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/libav-user
>>
>
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Libav-user mailing list
>Libav-user at ffmpeg.org
>http://ffmpeg.org/mailman/listinfo/libav-user
You can use pkg-config.
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
More information about the Libav-user
mailing list