【问题标题】:Using System function in Matlab is not working在 Matlab 中使用 System 函数不起作用
【发布时间】:2013-09-18 20:30:33
【问题描述】:

我在使用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 中的不同机器上运行相同的代码是成功的。

【问题讨论】:

  • 您用于 windows 控制台和 matlab 函数调用的代码将对我们有所帮助。特别是最后一段对我来说是不可复制的。
  • 在 matlab 外打开一个 cmd 窗口并运行程序 - 如果可行,请在 cmd 窗口中键入 set 命令检查您的工作文件夹和所有系统环境变量。然后尝试使用 system('cmd') 在 Matlab 中打开 cmd 尝试再次运行该软件(如您所说 - 这应该会失败)。检查新 cmd 窗口中的运行文件夹和使用 set 的所有系统环境变量 - 比较它们,看看有什么问题。

标签: matlab system


【解决方案1】:

我遇到了同样的问题。原来我只需要重新启动 Matlab。我安装 OpenCV2.1 后没有重启 Matlab。

【讨论】:

  • 我只是浪费了 1 个小时才找到这个帖子和答案。这确实很奇怪。
猜你喜欢
  • 2014-08-06
  • 1970-01-01
  • 1970-01-01
  • 2017-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
  • 2021-11-25
相关资源
最近更新 更多