关于Matlab引擎的注册问题

来源:互联网 发布:python编辑器 知乎 编辑:程序博客网 时间:2024/06/06 07:17

       matlab引擎主要是用来和C混合编程,有关介绍参见(http://dev.yesky.com/300/2343300.shtml)。

    配置lib文件夹时,可能不存在"C:\matlab\extern\lib\win32\microsoft\msvc6”里的msvc6文件,可以改为"$(Matlab_ROOT)\extern\lib\win32\microsoft"即可,$(Matlab_ROOT)matlab的安装目录。

    配好之后,发现运行示例程序时提示没有找打dll文件,这是因为没有把"$(Matlab_ROOT)\bin\win32"添加到环境变量中。添加到PATH之后,注销或重启电脑,程序可以编译通过了。。。。

    然而碰到一个更诡异的问题:使用engOpen()函数返回空指针,说明引擎启动失败,找了一个多小时,大部分都只是说将自己在系统的控件库中注册。如果因为特殊原因,无法打开Matlab引擎,可以在Dos命令提示符后执行命令:matlab /regserver,重新注册cdmatlabbin文件后输入命令,matlab提示:权限不够,"Unable to set Rgistry value for Matlab.AutoServer.Single",折腾我一中午。。。。

    后来在stackoverflowhttp://stackoverflow.com/questions/6765201/engopen-returns-null)上找到了解决方法:我也犯了个愚蠢的错误!只是以管理员身份运行了matlabVS2005,但没有以管理员身份运行cmd!!

得到的经验是:对操作系统的知识了解太少了,低级错误害死人;中文网站真是相互抄来抄去,如果比较棘手,最好在Google上搜索;stackoverflow是个非常好的网站,有空研究研究。

原创粉丝点击