Opencv3.4+FFMpeg3.4+pkg-config交叉编译arm开发板

Ubuntu16.04 64位
FFmpeg3.4
OpenCv3.4

一、下载FFmpeg

https://github.com/FFmpeg/FFmpeg

1.配置

复制代码
./configure --prefix=/home/zeng/ffmpeg_install --enable-cross-compile  --cross-prefix=arm-linux-gnueabihf- --cc=arm-linux-gnueabihf-gcc --target-os=linux    --cpu=cortex-a7 --arch=arm --disable-yasm --disable-x86asm --disable-static --enable-shared --enable-small --enable-ffmpeg

2.编译和安装

复制代码
make -j4
make install

二、设置pkg-config

如果没安装pkg-config,请自行百度安装以下。

1.进入ffmpeg_instal的lib目录下的pkgconfig文件夹,拷贝pkgconfig路径

2.设置pkg-config变量PKG_CONFIG_PATH

复制代码
export PKG_CONFIG_PATH=/home/zeng/FFmpeg/my_install/lib/pkgconfig

3.测试pkg-config设置是否正确

测试命令:

复制代码
 pkg-config --cflags libavformat

输出:

复制代码
-I/home/zeng/FFmpeg/my_install/include

则设置正确。

三、下载OpenCv.

https://github.com/opencv/opencv.git

1.进入OpenCv,创建build目录

复制代码
cd opencv
mkdir build
cd build

2.配置

复制代码
cmake -D CMAKE_BUILD_TYPE=RELEASE  \
             -D CMAKE_INSTALL_PREFIX=/opt/opencv3.4.1_lib/opencv3.4_arm \
             -D CMAKE_C_COMPILER=arm-linux-gnueabihf-gcc \
             -D CMAKE_CXX_COMPILER=arm-linux-gnueabihf-g++ \
             -D BUILD_SHARED_LIBS=ON \
             -D CMAKE_CXX_FLAGS=-fPIC \
             -D CMAKE_C_FLAGS=-fPIC \
             -D CMAKE_EXE_LINKER_FLAGS=-lpthread -ldl \
             -D ENABLE_PIC=ON \
             -D WITH_1394=OFF \
             -D WITH_ARAVIS=OFF \
             -D WITH_ARITH_DEC=ON \
             -D WITH_ARITH_ENC=ON \
             -D WITH_CLP=OFF \
             -D WITH_CUBLAS=OFF \
             -D WITH_CUDA=OFF \
             -D WITH_CUFFT=OFF \
             -D WITH_FFMPEG=ON \
             -D WITH_GSTREAMER=ON \
             -D WITH_GSTREAMER_0_10=OFF \
             -D WITH_HALIDE=OFF \
             -D WITH_HPX=OFF \
             -D WITH_IMGCODEC_HDR=ON \
             -D WITH_IMGCODEC_PXM=ON \
             -D WITH_IMGCODEC_SUNRASTER=ON \
             -D WITH_INF_ENGINE=OFF \
             -D WITH_IPP=OFF \
             -D WITH_ITT=OFF \
             -D WITH_JASPER=ON \
             -D WITH_JPEG=ON \
             -D WITH_LAPACK=ON \
             -D WITH_LIBREALSENSE=OFF \
             -D WITH_NVCUVID=OFF \
             -D WITH_OPENCL=OFF \
             -D WITH_OPENCLAMDBLAS=OFF \
             -D WITH_OPENCLAMDFFT=OFF \
             -D WITH_OPENCL_SVM=OFF \
             -D WITH_OPENEXR=OFF \
             -D WITH_OPENGL=OFF \
             -D WITH_OPENMP=OFF \
             -D WITH_OPENNNI=OFF \
             -D WITH_OPENNNI2=OFF \
             -D WITH_OPENVX=OFF \
             -D WITH_PNG=OFF \
             -D WITH_PROTOBUF=OFF \
             -D WITH_PTHREADS_PF=ON \
             -D WITH_PVAPI=OFF \
             -D WITH_QT=OFF \
             -D WITH_QUIRC=OFF \
             -D WITH_TBB=OFF \
             -D WITH_TIFF=ON \
             -D WITH_VULKAN=OFF \
             -D WITH_WEBP=ON \
             -D WITH_XIMEA=OFF \
             -D BUILD_opencv_highgui=OFF \
             ..

注意不要忘了末尾的两个点,代表上一次目录

输出:

则配置FFmpeg正确。

3.编译安装

复制代码
make -j4
sudo make install
相关推荐
szxinmai主板定制专家7 小时前
RK3576+FPGA储能协调控制器,光伏、风电、储能
arm开发·嵌入式硬件·fpga开发·能源·1024程序员节
GilgameshJSS9 小时前
STM32H743-ARM例程31-CAN
c语言·arm开发·stm32·单片机·嵌入式硬件
mortimer10 小时前
牺牲质量换效率:视频翻译项目中音画同步模块的深度实现与思考
python·ffmpeg
my一阁21 小时前
2025-web集群-问题总结
前端·arm开发·数据库·nginx·负载均衡·web
给大佬递杯卡布奇诺1 天前
FFmpeg 基本数据结构 AVInputFormat 分析
数据结构·c++·ffmpeg·音视频
叶羽西1 天前
FFmpeg常用操作
ffmpeg
给大佬递杯卡布奇诺1 天前
FFmpeg 基本数据结构 AVCodecContext分析
数据结构·c++·ffmpeg·音视频
朱嘉鼎1 天前
ARM内部寄存器
arm开发·单片机·嵌入式硬件
GilgameshJSS1 天前
STM32H743-ARM例程30-Modbus
c语言·arm开发·stm32·单片机·嵌入式硬件
小范馆2 天前
ARM Cortex-M 向量表详解
arm开发