Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Opencv在Qt5.13中不起作用。应用程序总是在windows中崩溃_C++_Qt_Opencv - Fatal编程技术网

C++ Opencv在Qt5.13中不起作用。应用程序总是在windows中崩溃

C++ Opencv在Qt5.13中不起作用。应用程序总是在windows中崩溃,c++,qt,opencv,C++,Qt,Opencv,我已经安装了Qt5.13并链接了opencv版本4.0。但当我试图使用opencv库时,应用程序正在崩溃;否则它就会起作用 .pro文件 INCLUDEPATH += C:\opencv\build\include LIBS += -L"C:\\opencv\\build\\x64\\vc15\\lib" \ -lopencv_world410 Mainwindow.cpp #include "mainwindow.h" #include "ui_mainwi

我已经安装了Qt5.13并链接了opencv版本4.0。但当我试图使用opencv库时,应用程序正在崩溃;否则它就会起作用

.pro文件

 INCLUDEPATH += C:\opencv\build\include
 LIBS += -L"C:\\opencv\\build\\x64\\vc15\\lib" \
         -lopencv_world410
Mainwindow.cpp

   #include "mainwindow.h"
   #include "ui_mainwindow.h"
   #include "opencv2/opencv.hpp"

   MainWindow::MainWindow(QWidget *parent)
              : QMainWindow(parent)
              , ui(new Ui::MainWindow)
   {
        ui->setupUi(this);

        cv::Mat img = cv::imread("qq.jpg");
        cv::imshow("ee",img);
        cv::waitKey(0);
   }

   MainWindow::~MainWindow()
   {
       delete ui;
   }

每一种解决方案都值得赞赏。

问题应该出在项目配置上。您可以尝试以下配置并再次运行:

INCLUDEPATH += C:\opencv\build\include
LIBS += -LC:\opencv\build\x64\vc15\lib \
    lopencv_world410.lib
那么,发生了什么变化

原件:C:\\opencv\\build\\x64\\vc15\\lib 建议:C:\opencv\build\x64\vc15\lib 原件:-lopencv_world410 建议:lopencv_world410.lib 希望它能起作用


编辑:如Scheff所述,将OpenCV DLL文件路径添加到系统路径变量或将这些文件添加到应用程序根文件夹。

这就是我如何将OpenCV DLL包含在.pro文件中的方法。是的,DLL,我更喜欢只使用我需要的函数,而不是在我的项目中包含整个OpenCV库

LIBS += -L$$PWD/Libs/OpenCV \
-lopencv_core320 \
-lopencv_imgproc320 \

路径环境变量中缺少opencv路径

是否获得Windows错误代码?也许,它只是在应用程序启动时找不到opencv DLL。在环境中设置路径或仅将相关DLL复制到exe文件夹可能会修复此问题。您是尝试静态还是动态链接OpenCV?静态链接在构建时失败,而不是在启动时。在Windows世界中,如果您使用后一种方法,您仍然需要一个链接库,是的,那么@Scheff是正确的,您忘记将DLL放入构建目录或可执行文件应该找到的任何位置。你还可以用MSVC可再发行的依赖项来构建OpenCV?具体的第三方图书馆?它不存在。路径环境变量IMHO中缺少opencv路径,如果是链接问题,OP应该在程序启动时获得链接错误,而不是应用程序崩溃。@Scheff OP没有发布错误消息,因此从项目文件的配置中,我发现了一些不正确的配置,例如双反斜杠等等。但应用程序崩溃听起来不像qmake或链接器失败了。顺便说一句,我怀疑引号中的双反斜杠如果不是必需的话不应该是问题。path环境变量中缺少opencv path