From: 联盟少侠
The errors indicate that there are multiple definitions of several JNI (Java
Native Interface) symbols in the FFmpeg library. Specifically, the linker
ld.lld has found duplicate definitions for the following symbols:
- ff_jni_get_env
- ff_jni_jstring_to_utf_chars
- ff_jni_utf_chars_to_jstring
- ff_jni_exception_get_summary
- ff_jni_exception_check
- ff_jni_init_jfields
- ff_jni_reset_jfields
These symbols are defined in both libavcodec.a and libavformat.a archives,
leading to conflicts during the linking process. The duplicates are found in
the same source file ffjni.c, but they are being compiled into two different
static libraries.
To resolve these errors, ensure that each symbol is defined only once across
all linked libraries, or if these symbols are required in both libraries, they
should be marked as weak symbols to allow the linker to handle them
appropriately. Additionally, check for any build script misconfigurations that
may be causing the same file to be included in multiple libraries.
---
libavformat/file.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavformat/file.c b/libavformat/file.c
index dd5819c..fa13ae9 100644
--- a/libavformat/file.c
+++ b/libavformat/file.c
@@ -43,7 +43,7 @@
#if CONFIG_ANDROID_CONTENT_PROTOCOL
#include
#include "libavcodec/jni.h"
-#include "libavcodec/ffjni.c"
+#include "libavcodec/ffjni.h"
#endif
--
2.41.0.windows.3
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".