1

この問題についてオンラインで多くのリソースがあるにもかかわらず、単純な .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>

4

2 に答える 2