准备:
首先交叉编译需要交叉编译工具链
然后是在目标板上运行的动态链接库

1.新建工程

工程名为cuseopencv,添加文件cuseopencv.cpp
cuseopencv.cpp内容如下

#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main( int argc, char** argv )
{
        Mat m = imread(argv[1],1);
        cout<<"cols: "<<m.cols<<endl;
        return 0;
}

2.在工程目录下加入CMakeLists.txt

如下

PROJECT(cuseopencv)
ADD_EXECUTABLE(cuseopencv cuseopencv.cpp)
INCLUDE_DIRECTORIES(/home/rootroot/programFiles/opencv-arm/include)
link_directories(/home/rootroot/programFiles/opencv-arm/lib)
TARGET_LINK_LIBRARIES(cuseopencv libopencv_calib3d.so libopencv_core.so libopencv_features2d.so libopencv_flann.so libopencv_highgui.so libopencv_imgcodecs.so libopencv_imgproc.so libopencv_ml.so libopencv_objdetect.so libopencv_photo.so libopencv_shape.so libopencv_videoio.so libopencv_video.so libopencv_videostab.so)

目标板上的动态链接库所在的路径为
/home/rootroot/programFiles/opencv-arm
使用的是opencv3.1.0库

3.使用cmake-gui指定交叉编译工具链

如图这里写图片描述
然后设置交叉编译工具链所在的位置
在target选项中填Generic

Compilers选项中的C选择*-gcc
C++选择*-g++
要找到交叉编译工具链所在位置。
点击configue
generate
make
编译成功

更多推荐