opencv3解决思路:undefined reference to `cv::imread(cv::String const&, int)‘

本人使用了CLion进行C++编程。刚开始学,很多不懂,在入门Cmake中。

简单编程了一个,读取本地图像的opencv操作,用到了Mat定义;但编译代码的时候,报错如下:

这不来事了嘛???必须弄它呀

结果是,花了老长时间,也没解决。论坛上面也有很多解决思路了。

比如,1)cmake可能没链接共享库。那必须给安排

target_link_libraries( main ${OpenCV_LIBS} )

eg: 编译仍旧报错。后面尝试直接,引用论坛上推荐的共享库,libopencv_imgcodecs.so;仍旧报错。

2)cpp 缺少对应头文件。那必须得加

#include        //need to add lib path to CMakeList.txt
#include 
#include 
#include 

eg:头文件也加了,但还是不行。

3)cmake,要加上寻找opencv库函数。并且改为 opencv 3;(看到希望的苗头,必须得跟上阿)

find_package( OpenCV 3 REQUIRED )

eg:编译了,不行。

********************************

都分割了,那肯定有好消息了。

解决思路:将“find_package” 放到  “target_link_libraries”的前面,而不是后面。(新人,哪知道前后顺序的意义,但不断坚持摸索之下,能够排查并解决,终归是件好事)

代码如下:

opencv3解决思路:undefined reference to `cv::imread(cv::String const&, int)‘_第1张图片

 在此也多谢其他博主的文章,提供了尝试的思路。大家生活愉快。

你可能感兴趣的:(opencv,c++)