【发布时间】:2013-07-10 16:30:15
【问题描述】:
我一直在尝试在 QtCreator 中使用 cv::VideoCapture::open("")(opencv 添加)。即使程序在“bebug 模式”(调试版本)下运行时没有错误,它也会在 “发布模式”中出现以下运行时错误(发布版本)。
调试断言失败文件: f:/dd/vctools/crt_bld/self_x86/src/isctype.c 行:56 表达式: (无符号)(c+1)
这是一个简单的程序,仅使用 cv::VideoCapture::open() [用于测试目的]
下面是 .pro 文件
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = untitled
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
INCLUDEPATH += C:/C/opencv/build/include
INCLUDEPATH += C:/C/opencv/build/include/opencv
LIBS += C:/C/opencv/build/x86/vc10/lib/opencv_highgui240d.lib
LIBS += C:/C/opencv/build/x86/vc10/lib/opencv_highgui240.lib
LIBS += C:/C/opencv/build/x86/vc10/bin/opencv_highgui240d.dll
LIBS += C:/C/opencv/build/x86/vc10/bin/opencv_highgui240.dll
下面是头文件
#include <QMainWindow>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/core/core.hpp>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
cv::VideoCapture vcap;
};
以下是 .cpp 文件
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
vcap.open("C:/Users/ANURUDDHA/pedestrians/ThreePastShop2cor.mpg");
}
MainWindow::~MainWindow()
{
delete ui;
}
当我将 int 作为参数传递给 cv::VideoCapture::open() [例如:vcap.open(0)] 时,它在调试和发布版本中运行时都没有错误,并成功打开网络摄像头.只有当我将字符串传递给参数时才会出现问题。
请有人对此有所了解。真的很感激。
【问题讨论】:
标签: c++ qt opencv qt4 qt-creator