From 4cb3aa09fa0fc69ddfd34f7a3144afc575875c5a Mon Sep 17 00:00:00 2001 From: Panagiotis Issaris Date: Fri, 27 Jul 2007 13:40:02 +0000 Subject: [PATCH] Add a section about C++ and extern "C" in the FAQ. Originally committed as revision 9811 to svn://svn.ffmpeg.org/ffmpeg/trunk --- doc/faq.texi | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/doc/faq.texi b/doc/faq.texi index 1aeb5136ce..0cafd2faf4 100644 --- a/doc/faq.texi +++ b/doc/faq.texi @@ -395,6 +395,14 @@ the whole libav*. If you wish, disable some parts with configure switches. You can also try to hack it and remove more, but if you had problems fixing the compilation failure then you are probably not qualified for this. +@section I'm using libavcodec from within my C++ application but the linker complains about missing symbols which seem to be available. + +FFmpeg is a pure C project, so to use the libraries within your C++ application +you need to explicitly state that you are using a C library. You can do this by +encompassing your FFmpeg includes using @code{extern "C"}. + +See @url{http://www.parashift.com/c++-faq-lite/mixing-c-and-cpp.html#faq-32.3} + @section I have a file in memory / a API different from *open/*read/ libc how do i use it with libavformat? You have to implement a URLProtocol, see libavformat/file.c in FFmpeg