QT作成者にmatlab engineを関与させようとしています。私は文法やリンクの問題がないので、INCLUDEPATHとLIBSを.proファイルに適切に設定したことを確信しています。私はQTからMatlab engOpenを呼び出すことができません
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のプロジェクト\ \ビルド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)でした。 私はMatlab R2015a、QT 5.5.0を両方ともWindows 7上で32ビット使用しています。私はいつもMatlabとQTを管理者として実行しています。私もcmdでmatlab -regserverを実行しようとしましたが、Matlabの簡略化されたコマンドラインウィンドウが表示されました。しかし、QTプログラムはまだクラッシュします。コードや環境を変更するたびに、ビルドの潜在的な問題を避けるために、プログラムを慎重に削除して再構築します。
誰かが私にこの問題についての考えを与えてくれれば、非常に感謝しています。