好吧,我需要开始使用OpenCV,因为我习惯使用QtCreator,我试图让它全部协同工作。我下载了最新的OpenCV版本,并用MinGW编译。然后,我创建了这个小型控制台项目来试用它。以下是.pro
文件:
QT += core
QT -= gui
TARGET = OpenCV_test4
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp
INCLUDEPATH += C:\\Librerias\\opencv2.3.1\\release\\include
LIBS += -LC:\\Librerias\\opencv2.3.1\\release\\lib \
-lopencv_core231.dll \
-lopencv_highgui231.dll \
-lopencv_imgproc231.dll \
-lopencv_features2d231.dll \
-lopencv_calib3d231.dll
以下是main.cpp
文件:
#include <QtCore/QCoreApplication>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// read an image
cv::Mat image= cv::imread("img.jpg");
// create image window named "My Image"
cv::namedWindow("OpenCV Window");
// show the image on window
cv::imshow("OpenCV Window", image);
// wait key for 5000 ms
cv::waitKey(5000);
return a.exec();
}
(我已尝试使用和不使用QCoreApplication
行的此代码)
交易是:它链接和构建,当从QtCreator运行时,只有一个名为C:\QtSDK\QtCreator\bin\qtcreator_process_stub.exe
的终端窗口出现,行“按RETURN关闭此窗口......” < / p>
但是,如果我从项目文件夹中运行.exe,它运行完美!!为什么QtCreator无法启动该应用程序?我觉得这很奇怪,我很感激任何暗示。这真的不重要,但每次我改变一些东西以检查它是如何工作时,必须手动运行.exe是一种痛苦。
感谢您的时间:)
其他信息:
已经解决了,我真的不知道我做了什么,它突然起作用并继续工作,我希望我可以告诉你我是如何修理它但我不知道,这样一个奇怪的事情:(
答案 0 :(得分:0)
检查项目 - &gt;运行设置 - &gt;在终端运行。它必须启用,但似乎被禁用。
答案 1 :(得分:0)
我在Linux下遇到了与QtCreator和OpenCL相同的问题。简单的测试程序在从终端启动后工作,从QtCreator启动后不起作用。 我发现原因是在项目的运行环境设置中硬编码LD_LIBRARY_PATH。我已将它丢弃为空字符串,这已解决了问题。
答案 2 :(得分:0)
在以下环境中我遇到了相同的问题:Raspbian,Qt,openCV和gui应用程序。
old-ufo建议对我有用: -首先,启用“在终端中运行”,但失败 -然后,禁用“在终端中运行”,这使我可以正确调试我的应用。
我知道这是不科学的。