この問題についてオンラインで多くのリソースがあるにもかかわらず、単純な .cpp プログラムから MATLAB を呼び出すのに苦労しています。
私の目的:
Microsoft Visual Studio 2010 Professional 64 ビットを使用して、組み込み関数とグラフ用に MATLAB エンジンを呼び出す .cpp プログラムをビルドします (MATLAB R2013b 64 ビット)
私がやった事:
.cpp ファイルのプロパティ ページで、次のことを行いました。 1) プラットフォームをアクティブ (x64) に変更しました。2) VC++ ディレクトリの実行可能ディレクトリに次のパスを追加しました: C:\Program Files\MATLAB\R2013b\bin インクルード ディレクトリ: C: \Program Files\MATLAB\R2013b\extern\include 参照ディレクトリ: C:\Program Files\MATLAB\R2013b\bin\win64 ライブラリ ディレクトリ: C:\Program Files\MATLAB\R2013b\extern\lib\win64\microsoft
3) 次のプログラムを作成しました。
// mEng.cpp : Defines the entry point for the console application.
// libeng.dll is in C:\Program Files\MATLAB\R2013b\bin\win64
#include "stdafx.h"
#include <Engine.h>
#include <matrix.h>
#include <iostream>
#include <string>
#include <cmath>
#pragma comment (lib, "libmat.lib")
#pragma comment (lib, "libmx.lib")
#pragma comment (lib, "libmex.lib")
#pragma comment (lib, "libeng.lib")
#pragma comment (lib, "libut.lib")
using namespace std;
int main()
{
Engine *m_pEngine;
if (!(m_pEngine = engOpen("")))
{
fprintf(stderr, "\nCan't start MATLAB engine\n");
return EXIT_FAILURE;
}
//Now call the MATLAB script through MATLAB Engine
engEvalString(m_pEngine, "script");
cout << "Hit return to continue\n\n";
fgetc(stdin);
//Close the MATLAB Engine
engClose(m_pEngine);
return EXIT_SUCCESS;
}
受信したエラー:
「コンピューターに libeng.dll が見つからないため、プログラムを開始できません。この問題を解決するには、プログラムを再インストールしてみてください。」</p>