[FFmpeg-user] undefined reference to av_frame_alloc/free
Jason Blum
jason.j.blum at gmail.com
Wed May 28 06:03:41 CEST 2014
Hello,
I am working on a catkin-built ROS c++ project. I am trying to link to
whatever FFMPEG library is necessary to use the new av_frame_alloc( ) and
av_frame_free( ) functions. The online documentation says it would be
avutil/frame.h, but I still get undefined reference linking errors.
I am also linking to avcodec, avformat, and swscale, all of which seem to
link just fine.
This is my ffmpeg version:
ffmpeg version 2.2.git Copyright (c) 2000-2014 the FFmpeg developers
built on May 2 2014 21:57:13 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
configuration: --disable-stripping --enable-shared
libavutil 52. 66.101 / 52. 66.101
libavcodec 55. 52.102 / 55. 52.102
libavformat 55. 34.100 / 55. 34.100
libavdevice 55. 11.100 / 55. 11.100
libavfilter 4. 3.100 / 4. 3.100
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 18.100 / 0. 18.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options]
outfile}...
These are the compile errors:
CMakeFiles/h264_decoder_node.dir/src/h264_decoder.cpp.o: In function
`h264_Decoder::h264_Decoder()':
h264_decoder.cpp:(.text+0x19c): undefined reference to `av_frame_alloc'
h264_decoder.cpp:(.text+0x1ac): undefined reference to `av_frame_alloc'
CMakeFiles/h264_decoder_node.dir/src/h264_decoder.cpp.o: In function
`h264_Decoder::~h264_Decoder()':
h264_decoder.cpp:(.text+0x32e): undefined reference to `av_frame_free'
h264_decoder.cpp:(.text+0x340): undefined reference to `av_frame_free'
collect2: error: ld returned 1 exit status
make[2]: ***
[/home/jason/ROS/ARDrone/devel/lib/ardrone_2/h264_decoder_node] Error 1
make[1]: *** [ardrone_2/CMakeFiles/h264_decoder_node.dir/all] Error 2
make: *** [all] Error 2
Invoking "make" failed
The headers I am #include'ing:
extern "C" {
#include <libavcodec/avcodec.h>
#include <libswscale/swscale.h>
#include <libavformat/avformat.h>
#include <libavutil/avutil.h>
#include <libavutil/frame.h>
}
What am I missing?
Thanks,
Jason
More information about the ffmpeg-user
mailing list