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 <opencv2/opencv.hpp>       //need to add lib path to CMakeList.txt
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/core.hpp>

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

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

find_package( OpenCV 3 REQUIRED )

eg:编译了,不行。

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

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

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

代码如下:

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

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曾想上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值