ffmpeg 集成android Error:(15) undefined reference to 'avcodec_configuration()'

这是因为ffmpeg是一个纯C语言编写的库,使用C++调用C代码时候,需要使用“extern “C””包围头文件“avcodec.h”和相关代码
.cpp文件
#include
#include “fmmpegUtils.h”
#include <jni.h>
extern “C” {
#include “…/libavcodec/avcodec.h”
JNIEXPORT jstring JNICALL Java_com_yunbix_ffmpeglibrary_FmmpegUtils_getFmmpegConfig(JNIEnv env, jclass type) {
char info[10000] = {0};
sprintf(info, “%s\n”, avcodec_configuration());
return env->NewStringUTF(info);
}
};
.h文件
#include <jni.h>
extern “C” {
/

  • Class: com_yunbix_ffmpeglibrary_FmmpegUtils
  • Method: getFmmpegConfig
  • Signature: ()Ljava/lang/String;
    */
    JNIEXPORT jstring JNICALL Java_com_yunbix_ffmpeglibrary_FmmpegUtils_getFmmpegConfig
    (JNIEnv *, jclass);
    };

参考文献:https://blog.csdn.net/eieihihi/article/details/74153201

点赞