[FFmpeg-devel] [PATCH] faq: explain dependency problems with static libs.
Nicolas George
nicolas.george at normalesup.org
Wed Jul 11 12:02:33 CEST 2012
Signed-off-by: Nicolas George <nicolas.george at normalesup.org>
---
doc/faq.texi | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/doc/faq.texi b/doc/faq.texi
index da44adb..f9e0be0 100644
--- a/doc/faq.texi
+++ b/doc/faq.texi
@@ -383,6 +383,17 @@ Yes, as long as the code is optional and can easily and cleanly be placed
under #if CONFIG_GPL without breaking anything. So, for example, a new codec
or filter would be OK under GPL while a bug fix to LGPL code would not.
+ at section I'm using FFmpeg from within my C application but the linker complains about missing symbols from the libraries themselves.
+
+FFmpeg builds static libraries by default. In static libraries, dependencies
+are not handled. That has two consequences. First, you must specify the
+libraries in dependency order: @code{-lavdevice} must come before
+ at code{-lavformat}, @code{-lavutil} must come after everything else, etc.
+Second, external libraries that are used in FFmpeg have to be specified too.
+
+The easy way to get the full list of required libraries in dependency order
+is to use @code{pkg-config}.
+
@section I'm using FFmpeg 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
--
1.7.10.4
More information about the ffmpeg-devel
mailing list