engOpen失败的解决

在使用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组件注册,即可注册成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值