适用Cmake的CMakeLists.txt来编译一个OpenCV的测试例子。

CMakeLists.txt的写法为:

project( main )

#添加头文件路径
include_directories(/usr/local/opencv347/include /usr/local/opencv347/include/opencv /usr/local/opencv347/include/opencv2)
#添加库文件路径
link_directories(/usr/local/opencv347/lib)

add_executable( main main )
target_link_libraries( main -lopencv_core  -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs)

OpenCV的测试例子代码为:

#include <opencv.hpp>  

using namespace cv;

int main( int argc, char** argv )
{
    Mat image;
    image = imread(argv[1], 1);

    if( argc != 2 || !image.data )
    {
        printf( "No image data \n" );
        return -1;
    }

    imshow( "Display Image", image );
    waitKey(0);

    return 0;
}

然后在控制台进入到代码的根目录下,执行一下操作:

mkdir build
cd build
cmake ..
make

基本上,前面的CMakeLists.txt中的配置都写对了的话,也没啥问题,仅作测试用而已。make完成之后,可以测试下编译出来的可执行文件:

./main l_unpub.jpg

如果没有问题,应该就会显示输入的图像,如下:

有点儿童不宜,就不显示全部了...

 

丹阳郭里送行舟,一别心知两地秋。

日晚江南望江北,寒鸦飞尽水悠悠。


--严维 《丹阳送韦参军》