初学用C#和MATLAB混合编程,本人不是学计算机的,望各位高手指点~
使用的软件:MATLAB 2015b,Vs2010
使用MATLAB的函数生成dll文件,然后在vs中引用,生成exe后,在我的机子上执行都是没有问题的。
将debug文件夹拷贝到另一台电脑A,在A上安装2015的MCR后,再运行程序报错如下:
————————————————————————————
Error using cd
Cannot CD to D:\Program Files\MATLAB\bin (Name is nonexistent or not a directory)
Error in matlabrc (line 244)
————————————————————————————
根据控制台的提示,按照路径新建文件夹,并将MATLAB生成的dll复制到里面,就能正常运行了。
【想知道是为什么?为什么exe不直接引用debug里面的dll文件,非要去那个路径找?有没有什么办法】
还有一点就是我的matalb安装位置就是D:\Program Files,生成dll的默认位置是D:\Program Files\MATLAB\bin里面的一个文件夹,不知道和这个有没有关系。。。
matlabrc.m在matlab安装路径里有,里面244行代码是
————————————————————————————
%修改Matlab默认工作路径
cd ('D:\Program Files\MATLAB\bin');
————————————————————————————
【想知道的是我是用matlab生成dll,然后引用那个dll,在目标电脑上甚至都不用装matlab,直接装mcr(matlab compiler runtime)就行了,这个为什么会影响到我的exe?】
自己解决了。。。特别迷,把matlabrc.m里面的那个cd ('D:\Program Files\MATLAB\bin');注释掉,然后再生成dll,再引用就没有问题了
缺少那个补充哪个