尽管有很多在线资源可以解决这个问题,但我仍在努力从一个简单的 .cpp 程序调用 MATLAB。
我的目标:
使用 Microsoft Visual Studio 2010 Professional 64 位构建 .cpp 程序,该程序调用 MATLAB 引擎以获得内置函数和图形(MATLAB R2013b 64 位)
我做了什么:
在 .cpp 文件属性页中,我有: 1) 将平台更改为 Active(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>