印素尘 2022-12-03 20:00 采纳率: 50%
浏览 7
已结题

c# MATLAB混合编程,vs生成的exe在另一台电脑是找不到dll的问题

初学用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?】

  • 写回答

3条回答 默认 最新

  • 印素尘 2022-12-03 20:40
    关注

    自己解决了。。。特别迷,把matlabrc.m里面的那个cd ('D:\Program Files\MATLAB\bin');注释掉,然后再生成dll,再引用就没有问题了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月11日
  • 已采纳回答 12月3日
  • 创建了问题 12月3日

悬赏问题

  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 易优eyoucms关于二级栏目调用的问题
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题