在使用matlab和C混合编程时,会使用以下代码:
Engine *m_matEng;//定义Matlab引擎指针
if (!(m_matEng = engOpen(""))) //打开Matlab引擎
{
MessageBox ("Can't start MATLAB engine", MB_OK);
}
若失败,则没有打开matlab引擎。查找原因,可能是Matlab组件没有注册。注册方法:点击开始/运行/cmd,在命令行提示窗口下更改到Matlab安装路径/bin,matlab/regserver,注册成功后会弹出Matlab 命令窗口。
举例:cmd中输入如下C:\Program Files\MATLAB\R2016a\bin>matlab /regserver,然后回车,一般就能正常注册成功。
但有可能出现以下情况:
提示需要用管理员权限。
这时,找到matlab的安装路径,(如举例中的安装路径如下:C:\Program Files\MATLAB\R2016a\bin),找到该路径下的matlab.exe文件,右键“属性”,在“兼容性”页面选中“以管理员身份运行此程序”,点击“应用”,然后关闭“属性”框。
重新在cmd中进行Matlab组件注册,即可注册成功。