我正在研究一个我们想要导出为 .exe
的MATLAB项目 . 然后,生成的文件必须能够在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位上执行而没有任何问题 .
-
在这两种情况下,我们都正确安装了MATLAB可执行文件所需的运行时间,以便在PC上运行 .
-
我们试图在64位和32位机器上运行32位
.exe
,结果相同 .
是否有可能32位版本的MATLAB部署的可执行文件在处理Optimization Toolbox中的函数时遇到问题(如 fmincon
那样)?
还有什么可能是造成这个问题的原因?有没有人知道如何解决它?
1 回答
这个问题只有在MATLAB的支持下才能解决 . 这与版本R2014a中的错误有关,在Mathworks link中进行了解释和修补 .