在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:
同樣可以找到上圖中的三個頭文件將第二個紅圈裏面的內容添加進去。