2015-10-06 46 views
0

我在QtCreator內部運行簡單的OpenCV應用程序時出現了一個惱人的錯誤。首先:我自己使用MSVC2013 64bit,搭配Cuda和Qt構建Qt5.6和OpenCV3.0.0。我測試了MSVC2013內部的構建,它工作正常。 現在切換到QtCreator我將INCLUDEPATH和LIBS添加到一個正常的C++項目中,保存了.pro文件並運行qmake。工作。 現在我包含了highgui.hpp,core.hpp並編寫了簡單的圖像加載和顯示應用程序。見代碼未找到DLL入口點Qt 5.6與OpenCV 3.0.0

#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靜態。 MSVC2013 - Entry Point Not Found

是不是要走的路?

編輯: 現在事情開始變得有趣了。我實際上能夠通過QtCreator之外的qt來運行程序構建(只需從資源管理器運行.exe即可)。所以我很確定一切都很好。但是在運行應用程序時QtCreator必然會出現問題。對此有何想法?

回答

0

我發現這個問題,我想與大家分享的問題,如果有人跑進了同樣的問題。

我在項目選項卡,從「構建環境」到「制度環境」(我想這是因爲它的英文名字,因爲我的IDE是德國)改變運行環境下的運行環境。現在我可以從IDE內運行應用程序,我很高興。

我還沒有找到問題的確切位置,但現在我很滿意。