我正在尝试将matlab引擎纳入QT创建者。我确信我已经在.pro文件中正确设置了INCLUDEPATH和LIBS,因为没有语法或链接问题。我添加了
D:\Program Files\Matlab32\bin;
D:\Program Files\Matlab32\runtime\win32;
D:\Program Files\Matlab32\bin\win32
到我的路径。 在mainwindow.cpp中我写了
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "engine.h"
#include <QDebug>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
qDebug() << "Trying to open the engine";
Engine *ep;
ep = engOpen(NULL);
engClose(ep);
}
MainWindow::~MainWindow()
{
delete ui;
}
每当我尝试在调试或发布模式下运行代码时,QT都会说
启动D:\ qt projects \ build-VisVehicle-Qt_5_5_0-Release \ release \ VisVehicle.exe ... 该计划意外完成。 D:\ qt projects \ build-VisVehicle-Qt_5_5_0-Release \ release \ VisVehicle.exe崩溃。
通过注释掉代码,我发现导致失败的是ep = engOpen(NULL)。 我在Windows 7上使用32位的Matlab R2015a,QT 5.5.0。我总是以管理员身份运行Matlab和QT。我也尝试在cmd中运行matlab -regserver,并弹出一个简化的Matlab命令行窗口。但QT计划仍然崩溃。每当我对代码或环境进行更改时,我都会仔细清理并重建程序,以避免潜在的构建问题。
如果有人让我对这个问题有所了解,我将非常感激。
答案 0 :(得分:0)
问题解决了。有两件事要做:
然后它会起作用。