编译条件
主机(Host): Virtual box + Unbuntu12.04
单板机:Freescale imx6
交叉编译器版本:4.6.2 20110630 (不支持C11)
cmake version : 3.5.1
ffmpeg version : ffmpeg-0.10.16(http://ffmpeg.org/olddownload.html)
Opencv version : Opencv2.3.1(http://opencv.org/downloads.html)
编译过程
编译ffmpeg
# --prefix设定ffmpeg的安装目录
# 静态库编译失能
# 使能交叉编译器
# 失能汇编器
$ ./configure --prefix=/home/yicm/ffmpeg --enable-shared --disable-static --enable-gpl --enable-cross-compile --arch=arm --disable-stripping --target-os=linux --cc=arm-linux-gcc --enable-swscale --disable-asm
$ make
$ make install
Compile Opencv with ffmpeg
$ vim toolchain.cmake
# content
set(CMAKE_SYSTEM_NAME linux)
set(CMAKE_SYSTEM_PROCESSOR arm)
set(CMAKE_C_COMPILER arm-linux-gcc)
set(CMAKE_CXX_COMPILER arm-linux-g++)
set(CMAKE_FIND_ROOT_PATH "/home/yicm/ffmpeg")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
$ mkdir build
$ cd build
$ export PKG_CONFIG_PATH=ffpmegInstallPath/lib/pkgconfig:$PKG_CONFIG_PATH
$ cmake .. -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake
# 然后打开cmake-gui勾选一些开发和宏定义(set option and define),当然你也可以在命令行(command line)中操作
$ cmake-gui
$ make
$ make install
cmake后检查: