- 积分
- 0
- 注册时间
- 2009-7-30
- 仿真币
-
- 最后登录
- 1970-1-1
|
环境 Windows 7, Matlab2010a, Visual Studio 2010
参照<VS2008调用Matlab引擎详解>的做法
1 设置变量
User Variiables
Path:
C:\Program Files\PC Connectivity Solution\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;D:\Portable\Windows7Master;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files\MATLAB\R2010a\runtime\win32;C:\Program Files\MATLAB\R2010a\bin;C:\Program Files\SinoVoice\jTTS 5.0 Desktop\Bin;C:\Program Files\Common Files\TTKN\Bin;C:\Program Files\Common Files\Thunder Network\KanKan\Codecs;C:\Program Files\Altium Designer Winter 09\System
System Variables
C:\Program Files\CTEX\CTeX\cct\bin;C:\Program Files\CTEX\CTeX\ty\bin;C:\Program Files\CTEX\Ghostscript\gs8.70\bin;C:\Program Files\CTEX\GSview\gsview;C:\Program Files\CTEX\WinEdt;C:\Program Files\Windows Live\Shared;C:\Program Files\MATLAB\R2010a\runtime\win32;C:\Program Files\MATLAB\R2010a\bin
2 设置路径
包含目录 C:\Program Files\MATLAB\R2010a\extern\include;$(IncludePath)
库目录 C:\Program Files\MATLAB\R2010a\extern\lib\win32\microsoft;$(LibraryPath)
链接器 输入 libeng.lib libmx.lib;%(AdditionalDependencies)
3 编写代码
#include "engine.h" // 包含引擎函数的头文件
#include <iostream>
int main(int argc, char *argv[])
{
char buf[1024];
Engine *ep = engOpen(NULL); // 启动Matlab
engSetVisible(ep, false); // 设置窗口不可见
engOutputBuffer(ep, buf, 1024);
mxArray *mxN = mxCreateDoubleScalar(3);
engPutVariable(ep, "N", mxN);
// 将变量放置到Matlab空间中
engEvalString(ep, "D=rand(N, N)");
// 在Matlab环境中执行代码
mxArray *mxData = engGetVariable(ep, "D");
// 获得返回的结果
std::cout << buf << std::endl;
engClose(ep); // 关闭Matlab
system("pause");
return 0;
}
4 生成解决方案
出现错误:
错误 1 error LNK1104: 无法打开文件“libeng.lib libmx.lib” d:\Users\Storm\documents\visual studio 2010\Projects\MatlabEngineTest\MatlabEngineTest\LINK MatlabEngineTest
在网上找了好久,仍然不知如何解决?可能会是什么原因呢? |
|