生成的ffmpeg配置脚本是什么?
1和NDK是工具的集合。
* NDK提供一系列工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用打包成apk。这些工具对开发者有很大的帮助。[1]
* NDK集成了交叉编译器,并在mk文件隔离平台、CPU、API等方面提供了相应的差异。开发者只需要简单修改mk文件(指出“需要编译哪些文件”和“编译特性要求”
”,等等。),所以可以被创造出来。
* NDK可以自动将so和Java应用打包在一起,大大减少了开发者的打包工作。
2.NDK提供了稳定且有限的API头文件声明。
Google明确声明API是稳定的,在所有后续版本中稳定支持当前发布的API。从这个版本的NDK看,这些API支持的功能非常有限,包括:C标准库(libc
)、标准数学库(libm)、压缩库(libz)、日志库(liblog)。
3.用ndk编译ffmpeg。
Ndk自己的文档,包括一个STANDALONE-TOOLCHAIN.html,都涉及到独立编译的方法。
一个典型的用例是调用开源库的“配置”脚本,该脚本需要CC环境变量中的交叉编译器。
这显然意味着我们可以通过这种独立的编译方法编译一些由“配置”脚本生成的开源库。本文介绍了ndk作为一种通用编译工具的使用。与我们在linux中使用的gcc命令相比,ndk实际上为我们提供了工具,甚至ndk还为我们提供了一个make工具。
此外,您需要知道配置参数。你可以用。//config true-help-& gt;Help.txt生成一个帮助文件。我编译的代码如下:
。/配置\
- logfile=FILE \
-prefix = '/home/王志平/source/ffmpeg_ndk/release' \
- enable-gpl \
- enable-version3 \
-enable-非免费\
- disable-doc \
-禁用程序\
- disable-avdevice \
- enable-small \
-cross-prefix = '/home/王志平/arm _ Android 14 _ tool chain/bin/arm-Linux-androideabi-' \
-enable-交叉编译\
- target-os=linux \
-extra-cflags = '-I/home/王志平/arm _ Android 14 _ tool chain/sysroot/usr/include ' \
-extra-LD flags = '-L/home/王志平/arm _ Android 14 _ tool chain/sysroot/usr/lib ' \
- arch=arm \
- disable-symver \
-禁用调试\
-禁用-去废\
-extra-cflags = "-fPIC-Dan droid " \
Logfile:它是输出日志一的文件名。
Prifix:运行make install后,他会生成相应的库文件和复制头文件的指定文件夹。
交叉前缀:它是你的编译器的前缀。
Extra-cflags:这是编译时的一个选项,您需要在其中提供头文件的位置。
Extra-ldflags:这是连接时的一个选项,您应该提供一个库文件的副本。
这些配置要参考STANDALONE-TOOLCHAIN.htm,也可以自己玩,只要正确指定gcc,编译工具,头文件,链接库。例如,您可以删除extra-cflags和extra-ldflags,首先添加sysroot,然后在配置完成后运行make。