【发布时间】:2014-09-03 14:27:14
【问题描述】:
我正在开发一个 MATLAB 项目,我们希望将其导出为 .exe。然后,生成的文件必须能够在 32 位和 64 位 Windows 7 PC 上运行。
经过一点research 之后,我们意识到通过在 32 位版本的 MATLAB 上开发,然后在 32 位 .exe 文件上进行开发,更容易解决这个问题。
到目前为止,我们所有的开发都是在 64 位版本的 MATLAB 中进行的。有了它,我们已经能够成功生成并运行 64 位 .exe 版本。
然而,现在我们切换到 MATLAB 32 位,并生成了 .exe,出现了问题并显示以下错误:
Undefined function ‘fmincon’ for input arguments of type ‘function handle’.
这是fmincon首次出现的代码行:
Options = optimoptions('fmincon', 'DiffMinChange', 10);
几点说明:
- 在 MATLAB 64 位上运行的相同脚本也适用于 MATLAB 32 位。在 MATLAB 环境中,一切运行顺利。
- 脚本(具有完全相同的代码)仍然可以毫无问题地在 MATLAB 64 位上执行。
- 在这两种情况下,我们都正确安装了在 PC 上运行 MATLAB 可执行文件所需的运行时。
- 我们尝试在 64 位和 32 位机器上运行 32 位
.exe,结果相同。
32 位版本的 MATLAB 部署的可执行文件在处理优化工具箱中的函数时是否可能存在问题(就像fmincon 一样)?
还有什么可能是导致此问题的原因?有谁知道如何解决它?
【问题讨论】:
标签: exe 32bit-64bit matlab