Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用android ndk编译ffmpeg时如何保持兼容性_Android_Ffmpeg_Android Ndk_Libm - Fatal编程技术网

使用android ndk编译ffmpeg时如何保持兼容性

使用android ndk编译ffmpeg时如何保持兼容性,android,ffmpeg,android-ndk,libm,Android,Ffmpeg,Android Ndk,Libm,我已经成功地将ffmpeg编译为我的项目的静态库,android平台19在Application.xml中指定如下: APP_PLATFORM := android-19 我在一台设备(4.4)上测试我的项目,它运行良好。但它将在4.0设备上崩溃 因此,我想将APP_平台更改为较低版本,如: APP_PLATFORM := android-17 但是ide出现了这样的错误 libavcodec/ffv1enc.c:631: error: undefined reference to 'log

我已经成功地将ffmpeg编译为我的项目的静态库,android平台19在Application.xml中指定如下:

APP_PLATFORM := android-19
我在一台设备(4.4)上测试我的项目,它运行良好。但它将在4.0设备上崩溃

因此,我想将APP_平台更改为较低版本,如:

APP_PLATFORM := android-17
但是ide出现了这样的错误

libavcodec/ffv1enc.c:631: error: undefined reference to 'log2'
当我把它改成更低的版本时:

APP_PLATFORM := android-8
发生了更多错误:

libavcodec/ffv1enc.c:631: error: undefined reference to 'log2'
libavutil/mem.c:94: error: undefined reference to 'posix_memalign'
我知道log2引用没有定义,因为缺少libm,但据我所知,Android在构建时会自动链接到libm


因此,我如何在编译ffmpeg时保持兼容性,以便在较低版本的设备上很好地运行我的项目。

我通过使用较低版本的ndk平台工具重新编译ffmpeg解决了这个问题

然后在Android.mk中保留相同的版本

这些错误不再发生了