7

我已经使用 Matlab R2012a 将一些 matlab 函数编译成 .net DLL 文件。一切正常。我在 Windows 7 64 位上使用 WPF/C# .net 4.5,我的程序运行正常。

但是,我们现在正在 Windows 8 pro 上传输和测试我们的程序。我们在运行时遇到问题 - 我们当然使用 MCR R2012a 来运行 .dll 文件。我们无法在win8中加载类或函数,我们的程序崩溃了。

有没有人遇到过这个问题?如果我们使用 Matlab R2013a 编译函数会有帮助吗?

4

2 回答 2

10

windows 8下matlab问题的解决方法是添加

[assembly: MathWorks.MATLAB.NET.Utility.MWMCROption("-nojit")]

在汇编文件中。

我不知道为什么会这样。nojit- 表示不是创建二进制文件的即时编译器。

但是,当我添加了这个。它也适用于 Windows 8 x64。具有相同的 MCR

于 2013-08-04T17:14:27.577 回答
0

我在 MCR 中遇到的大多数问题都与 PATH 变量的错误值有关。当您在一台计算机上安装多个 MCR 时会发生这种情况,有时甚至在您只安装一个时也会发生这种情况。由于您收到访问冲突错误,我猜系统可以找到 MCR dll,但它找到了错误的(例如 32 位而不是 64 位)。仔细检查您的 PATH 环境变量并确保它指向 MCR dll 的正确位置。

于 2013-08-04T11:53:02.350 回答