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

Jeff Newmiller jdnewmil at dcn.davis.ca.us
Sun Jun 6 22:26:40 PDT 2010


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.


More information about the vox-tech mailing list