[vox-tech] inline keyword solves "undefined reference" issue

Brian Lavender brian at brie.com
Tue Jun 8 11:11:45 PDT 2010


You have an include such as the following in that file? I don't know if
that is the include.

#include <ffmpeg.h>

On Sun, Jun 06, 2010 at 10:26:40PM -0700, Jeff Newmiller wrote:
> Seems more likely that you haven't included the declarations for the C routines in your cpp file. Would need to see more context to diagnose. 
> 
> "Hai Yi" <yihai2004 at gmail.com> wrote:
> 
> >Hello all:
> >
> >I created a class FFMpegMgr and a method init(); inside init() I just put
> >three ffmpeg api there:
> >avcodec_register_all();
> >avdevice_register_all();
> > av_register_all();
> >
> >The source file ffmpegmgr.cpp look like this:
> >
> > void FFMpegMgr::init() {
> >    avcodec_register_all();
> >    avdevice_register_all();
> >    av_register_all();
> >
> >}
> >
> >Now I got a "undefined reference to avcodec_register_all" error.
> >
> >if I put that body in the class declaration or add a "inline" keyword, that
> >problem was gone and the compilation succeeded.
> >
> >question is, do those three functions, which are C functions defined in
> >avcodec.h,  have to be used only in the inline functions in C++?
> >
> >Sorry if it appear naive - I've been out of touch with C/C++ for a while.
> >
> >Thanks!
> >Hai
> >_______________________________________________
> >vox-tech mailing list
> >vox-tech at lists.lugod.org
> >http://lists.lugod.org/mailman/listinfo/vox-tech
> 
> ---------------------------------------------------------------------------
> Jeff Newmiller                        The     .....       .....  Go Live...
> DCN:<jdnewmil at dcn.davis.ca.us>        Basics: ##.#.       ##.#.  Live Go...
>                                       Live:   OO#.. Dead: OO#..  Playing
> Research Engineer (Solar/Batteries            O.O#.       #.O#.  with
> /Software/Embedded Controllers)               .OO#.       .OO#.  rocks...1k
> ---------------------------------------------------------------------------
> Sent from my phone. Please excuse my brevity.
> _______________________________________________
> vox-tech mailing list
> vox-tech at lists.lugod.org
> http://lists.lugod.org/mailman/listinfo/vox-tech

-- 
Brian Lavender
http://www.brie.com/brian/

"There are two ways of constructing a software design. One way is to
make it so simple that there are obviously no deficiencies. And the other
way is to make it so complicated that there are no obvious deficiencies."

Professor C. A. R. Hoare
The 1980 Turing award lecture


More information about the vox-tech mailing list