在qnx系统中编译ffmpeg指令:
--prefix=/d/opencv3/opencv_contrib/opencv_contrib-3.1.0/zk/ffmpeg-2.7.7/install --enable-shared --disable-static --enable-gpl --enable-memalign-hack --enable-cross-compile --arch=arm --disable-stripping --target-os=qnx --enable-libx264 --enable-libxvid --cc=arm-unknown-nto-qnx6.6.0eabi-gcc.exe --enable-swscale --extra-ldflags=-L/d/opencv3/opencv_contrib/opencv_contrib-3.1.0/zk/ffmpeg-2.7.7/install/lib --extra-cflags=-I/d/opencv3/opencv_contrib/opencv_contrib-3.1.0/zk/ffmpeg-2.7.7/install/include
调用ffmpeg库编译ffmpeg_test.cpp指令:
arm-unknown-nto-qnx6.6.0eabi-g++.exe ffmpeg_test.cpp -o FFDemo -I D:\opencv3\opencv_contrib\opencv_contrib\zk\ffmpeg_2_7_7\install\include -L D:\opencv3\opencv_contrib\opencv_contrib\zk\ffmpeg_2_7_7\install\lib -lavformat -lavcodec -lswscale -lx264 -lxvidcore -lswresample -lavutil -lm -lz -std=c++11
上面的指令中-lx264,-lxvidcore表示的是自己手动添加的依赖库;后面还添加了一个-std=c++11来编译C++程序
错误如下:
解决办法1:
打开需要编译的C++文件
添加画红圈的内容
解决办法2:
同样可以找到上图中的三个头文件将第二个红圈里面的内容添加进去。