undefined reference to `cv::imread(std::__cxx11::basic_string<char, std::char_traits<char>, std::all

Posted _WILLPOWER_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了undefined reference to `cv::imread(std::__cxx11::basic_string<char, std::char_traits<char>, std::all相关的知识,希望对你有一定的参考价值。

问题缘由

在准备运行一个车道线检测的一个开源项目的时候,已经按照其要求使用了,如下工具


而opencv的包是我直接下载的官网上的opencv4.5.1解压下来的,但是当我修改其cmakelists.txt中的opencv文件夹后,我觉得已经可以运行了

在执行构建的时候缺出现了如下问题

经过在网上搜索,大多数以及官方给出的回答是

不过就算我cmakelist.txt加入了这个,也还是不得行,因此我重新找了个只显示图片的工程基于cmake+mingw来构建,也还是出错了,因此我认为这个opencv的环境我是弄得有问题得(以前没在windows上面基于mingw构建过),最后找到了一篇非常好得文章
CMake + MinGW + OpenCV + CodeBlocks Windows下环境搭建
opencv函数库在非Visual Studio的开发环境下使用时需要自己重新编译,构造出指定编译器类型的库(由于官方推出的最近几个版本只支持了vc),这样才能在别的IDE下运行使用,当然我们在使用IDE时也要看一下自用的IDE使用了哪个编译器,不然是没有办法使用的。

所以说,我们需要自己构建匹配mingw(gcc)匹配得库。

按照文章说得,通过codeblocks或者你自己下载得mingw构建得opencv环境后,记得把你构建后得bin文件目录加入系统环境变量

然后就是修改,opencv目录得地址

然后再次编译即可

参考

对 cv::imread(std::string const&, int) #13000 的未定义引用
CMake + MinGW + OpenCV + CodeBlocks Windows下环境搭建–Alistud_米文

使用CMake构建OpenCV项目-退休码农飞伯德

以上是关于undefined reference to `cv::imread(std::__cxx11::basic_string<char, std::char_traits<char>, std::all的主要内容,如果未能解决你的问题,请参考以下文章

C/C++ “undefined reference to XXX“问题总结

c/c++中出现“undefined reference to”的解决

Android编译错误——undefined reference to

编译busybox遇到mount.c:(.text.nfsmount+0x): undefined reference to

undefined reference to ceil 链接错误

undefined reference to `major‘