在使用 SYSTEM 函数从 Matlab 调用可执行文件时遇到了一个很奇怪的问题。
首先,我可以毫无问题地在窗口控制台中运行可执行文件。但是,当我在 Matlab 中调用 system(foo.exe) 时,它除了返回状态值 -1.0737e+09 之外什么都不做,并且不会引发任何警告或错误。
我在 32 位 Windows 系统上使用 Matlab R2009b,可执行文件依赖于 OpenCV2.40。
系统路径变量肯定包括所有必需的 lib 目录。我还尝试在 LD_LIBRARY_PATH 中添加相关路径,并将 dll 复制到工作目录中。这些尝试不会改变任何东西。
我还尝试从 Matlab 调用 SYSTEM('cmd'),并在调用的窗口控制台中运行可执行文件。它也没有给我任何回应。从Matlab调用的控制台的运行环境似乎与原来的窗口控制台不同。
在 Matlab 中的不同机器上运行相同的代码是成功的。