我在Windows7_64的环境下使用QT编译环境,使用opencv3.4.1的动态库进行图像编程
在pro文件中已经有了动态库的声明:
```c++
INCLUDEPATH +=F:\UIQCamera\include\
F:\UIQCamerae\include\opencv2
LIBS += F:\UIQCamera\bin\Release\opencv_core341.dll
LIBS += F:\UIQCamera\bin\Release\opencv_imgproc341.dll
LIBS += F:\UIQCamera\bin\Release\opencv_imgcodecs341.dll
LIBS += F:\UIQCamera\bin\Release\opencv_videoio341.dll
windows系统的环境变量中也有了动态库的路径:
```c++
F:\UIQCamera\bin\Release
QT本身的编译环境没有问题,版本是5.14.0
之前用的是opencv4.01,但由于在用户在图片中写入的特定的数据,所以,无法使用4.0以上的版本,而且使用是没有问题的,但是用户写的数据无法正常接收,需要以流的方式打开数据,所以只能使用4.0以下的opencv版本,在网上找到一个3.4.1的动态库,结果编译出现了:-1: error: collect2.exe: error: ld returned 5 exit status的错误
这是.h文件中的文件头
#include <opencv2/opencv.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/imgcodecs/imgcodecs.hpp>
代码没有报错,而且之前用4.01的动态库已经编译通过且软件可以正常运行。
我就想知道是我下载的动态库不行,还是其他原因,特别是这个报错是什么意思?
谢谢大家了