编译工具链,生成各个平台的ffmpeg版本的库

1.在开始动手编译ffmpeg之前我们来梳理一下几个概念,gcc、g++、msvc、mingw、clang、cmake、make、qmake

作为一个windows软件工程师,以为长时间浸淫在各种强大的IDE的世界里,对编译的过程和相关的工具链还是相当陌生的。上面举出来的几个词语是自己在要编译各种平台的库的时候遇到的,因为Qt是跨平台的,所以要求相关的库也要跨平台;

  • gcc/g++ 是c和c++对应的编译器,完成代码的编译和链接过程,clang也可以用来编译c++ oc,编译oc的时候效率是gcc的三倍。gcc/g++和clang是linux下常用的编译器,gcc是GNU的亲儿子,clang是后起之秀
  • msvc是windows环境下的c++编译器,MinGW 就是 GCC 的 Windows 版本 可以实现交叉编译
  • make是用来执行makefile的
  • cmake是抽象层次更高的项目管理工具,cmake命令执行的CMakeLists.txt文件。生成makefile  
  • cmake和qmake在Linux等环境下最后还是会生成一个Makefile

下图标示了几个概念的抽象层次:

 参考https://www.cnblogs.com/DLarTisan/p/7070609.html

2.开始编译

  1. 编译windows版本的ffmpeg
  2. 编译linux版本的ffmpeg
  3. 编译mac os版本的ffmpeg
  4. 编译android版本的ffmpeg
  5. 编译ios版本的ffmpeg
原文地址:https://www.cnblogs.com/wzxNote/p/11643519.html