原本不是要交叉编译这些库的,在研究opencv交叉编译的过程当中整的,也顺带记录一下。
交叉编译opencv可以看:imx6交叉编译opencv3.4.1
环境:
- PC操作系统:Ubuntu 16.04 LTS
- 编译器:arm-poky-linux-gnueabi-gcc 4.9.1
各个库的下载地址:
zlib-1.2.11
yasm-1.3.0
xvidcore_1.3.2
libpng-1.6.36
x264
jpegsrc.v9c
ffmpeg-4.1
对各个库进行交叉编译:
1、配置imx6交叉编译环境
方法:配置imx6交叉编译环境
2、交叉编译zlib-1.2.11
tar xvf zlib-1.2.11.tar.xz
cd zlib-1.2.11/
mkdir build
cd build
创建build.sh文件,内容:
../configure --prefix=/home/hrx/build_opencv/opencv_depend/
make
make install
执行build.sh文件
3、交叉编译yasm-1.3.0
tar zxvf yasm-1.3.0.tar.gz
cd yasm-1.3.0/
mkdir build
cd build
创建build.sh文件,内容:
../configure --prefix=/home/hrx/build_opencv/opencv_depend/ --host=arm-poky-linux-gnueabi
make
make install
执行build.sh文件
4、交叉编译xvidcore_1.3.2
tar zxvf xvidcore_1.3.2.orig.tar.gz
cd xvidcore-1.3.2/
mkdir build
cd build
创建build.sh文件,内容:
#这里要配置交叉编译出来的yasm库,也就是说要先交叉编译yasm
export PREFIX=/home/hrx/build_opencv/opencv_depend/
export LDFLAGS=-L$PREFIX/lib/
export INCLUDES=-I$PREFIX/include/
export INCLUDES=-I$PREFIX/include/libyasm
../configure --prefix=/home/hrx/build_opencv/opencv_depend/xvid --host=arm-poky-linux-gnueabi
make
make install
执行build.sh文件
5、交叉编译libpng-1.6.36
tar zxvf libpng-1.6.36.tar.gz
cd libpng-1.6.36/
mkdir build
cd build
创建build.sh文件,内容:
#这里要配置交叉编译出来的zlib库,也就是说要先交叉编译zlib
export PREFIX=/home/hrx/build_opencv/opencv_depend/
export LDFLAGS=-L$PREFIX/exe/lib/
export INCLUDES=-I$PREFIX/include/
../configure --prefix=/home/hrx/build_opencv/opencv_depend/libpng --host=arm-poky-linux-gnueabi --enable-shared --enable-static
make
make install
执行build.sh文件
6、交叉编译x264_20181220-2245
tar xvf last_x264.tar.bz2
cd x264-snapshot-20181220-2245/
mkdir build
cd build
创建build.sh文件,内容:
../configure --prefix=/home/hrx/build_opencv/opencv_depend/ --host=arm-poky-linux-gnueabi --enable-shared --disable-asm
make
make install
执行build.sh文件
7、交叉编译jpegsrc.v9c
tar zxvf jpegsrc.v9c.tar.gz
cd jpeg-9c/
mkdir build
cd build
创建build.sh文件,内容:
../configure --prefix=/home/hrx/build_opencv/opencv_depend/ --host=arm-poky-linux-gnueabi --enable-shared --enable-static
make
make install
执行build.sh文件
8、交叉编译ffmpeg-4.1
tar xvf ffmpeg-4.1.tar.bz2
cd ffmpeg-4.1/
mkdir build
cd build
创建build.sh文件,内容:
../configure --prefix=/home/hrx/build_opencv/opencv_depend/ --enable-gpl --enable-shared --cross-prefix=arm-poky-linux-gnueabi- --cc="arm-poky-linux-gnueabi-gcc -march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a7" --enable-cross-compile --arch=arm --target-os=linux --enable-nonfree --enable-pthreads --enable-ffplay --extra-cflags=-I/home/hrx/build_opencv/opencv_depend/include/ --extra-ldflags=-L/home/hrx/build_opencv/opencv_depend/include/lib/
make
make install
执行build.sh文件
参考博客:https://blog.csdn.net/ajianyingxiaoqinghan/article/details/70194392