opencv undefined reference to `cv::noarray‘ 。window系统配置opencv,找到opencv库,但连接不了

之前都是在ubuntu里用opencv,今天为了方便在平时用Window10系统也用下c++版的cv,就想配置一下vscode的cv环境,直接下载了一个编译好的opencv库(带build文件夹的),刚开始用的是visual studio的编译器,没有问题,但总感觉没有GCC好用,就装了mingw64,用GCC编译器,结果总是目标文件连接不到opencv,一堆的找不到函数报错,如下图 :

cmakelists文件怎么检查都没什么错,打印的信息:

message(STATUS "OpenCV_LIBS: ${OpenCV_LIBS}")

message(STATUS "OpenCV_INCLUDE_DIRS: ${OpenCV_INCLUDE_DIRS}")

显示都没什么问题,搞了半天才发现,编译好的opencv库是visual studio c++编译器用的,应该是用visual studio 编译好的,要用mingw64还需要下载响应的gcc编译好的版本的,如OpenCV-MinGW-Build-OpenCV-4.5.5-x64。

再去看两个库的lib文件夹,明显不一样的

右图就是mingw64版本的。由填了一个坑!最后放cmakelists,(偷懒没配置系统环境变量,直接指定路径了)

上一篇:.NET9 - 新功能体验(三)


下一篇:从零开始:NetBox 4.1 Docker 部署和升级