繁体   English   中英

找不到带有OpenCV 3.0.0的Qt 5.6 DLL入口点

[英]DLL entry point not found Qt 5.6 with OpenCV 3.0.0

我在QtCreator中运行一个简单的OpenCV应用程序时遇到麻烦的错误。 首先:我使用的是MSVC2013 64位,我自己使用Cuda和Qt构建了Qt5.6和OpenCV3.0.0。 我在MSVC2013内部测试了该版本,它运行良好。 现在切换到QtCreator,我将INCLUDEPATH和LIBS添加到普通的C ++项目中,保存了.pro文件并运行qmake。 工作了。 现在,我包含了highgui.hpp,core.hpp并编码了简单的图像加载和显示应用程序。 见代码

#include <iostream>
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"

using namespace std;

int main()
{
    cout << "Hello World!" << endl;
    cv::Mat Image;
    cv::namedWindow("Test");
    return 0;
}

现在您想知道为什么我没有加载任何图像。 好吧,我可以使用cv :: namedWindow跟踪错误。 构建项目后,我运行调试器,然后突然在单独的窗口中收到此错误:

The inferior stopped because it triggered an exception.
Stopped in thread 0 by: exception at 0x7ffa6f8dc4e0, code 0xc0000139:
DLL entry point not found, flags=0x1 (Execution cannot be continued)

我可以构建项目,但是无法运行。 如我所说,我可以在MSVC2013 IDE中构建和运行相同的应用程序,而不会出现任何错误。 我已经在网上搜索过,但似乎我是唯一遇到此问题的人。

这是我的.pro代码

TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += main.cpp

include(deployment.pri)
qtcAddDeployment()

INCLUDEPATH += C:\\OpenCV300C\\include \
    C:\\OpenCV300\\include\\opencv \
    C:\\OpenCV300\\\include \\opencv2

LIBS += -LC:\\OpenCV300\\x64\\vc12\\lib \
    -lopencv_calib3d300d \
    -lopencv_core300d \
    -lopencv_features2d300d \
    -lopencv_flann300d \
    -lopencv_hal300d \
    -lopencv_highgui300d \
    -lopencv_imgcodecs300d \
    -lopencv_imgproc300d \
    -lopencv_ml300d \
    -lopencv_objdetect300d \
    -lopencv_photo300d \
    -lopencv_shape300d \
    -lopencv_stitching300d \
    -lopencv_superres300d \
    -lopencv_ts300d \
    -lopencv_video300d \
    -lopencv_videoio300d \

我正在使用Win8.1,MSVC2013 64位,Qt5.6和OpenCV3.0.0(自己的版本)

因为我确定OpenCV和Qt的构建是正确的,所以我怀疑自己是错误的。 但是我不知道我在做什么错。 足够有趣的是,我能够通过Mat显示图片并将其放到QImage上,并通过Pixmap显示在标签上。 但是我想知道为什么cv :: namedWindow无法正常工作。

另外我在另一个线程中注意到必须构建Qt static。 MSVC2013-找不到入口点

那是路要走吗?

编辑:现在事情开始变得有趣。 我实际上可以从QtCreator外部运行qt生成的程序(只需从资源管理器运行.exe)。 所以我很确定一切都很好。 但是,运行应用程序时QtCreator必须存在问题。 有什么想法吗?

我发现了问题,并希望与您分享问题,以防有人遇到相同的问题。

我在运行环境下的“项目”选项卡中将运行环境从“构建环境”更改为“系统环境”(我猜这是它的英文名称,因为我的IDE是德语)。 现在,我可以从IDE内部运行该应用程序,对此我感到很高兴。

我还没有发现问题出在哪里,但现在我很满意。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM