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" <yihai2...@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@lists.lugod.org >http://lists.lugod.org/mailman/listinfo/vox-tech --------------------------------------------------------------------------- Jeff Newmiller The ..... ..... Go Live... DCN:<jdnew...@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@lists.lugod.org http://lists.lugod.org/mailman/listinfo/vox-tech