2

我以为 Makefile 只是在执行规定的 shell 命令,但事情似乎并不那么简单:sample.m 是一个最小的 matlab 程序,它在屏幕上显示一个单词。从 Makefile 启动时,它的行为与从 shell 启动时不同...

从贝壳

alex:~$ matlab -nosplash -nodisplay -r "sample"

-> 正确显示单词

从 Makefile

all :  
matlab -nosplash -nodisplay -r "sample"  

alex:~$ make

-> 用蓝色边框显示单词

怎么可能不同?我在 Ubuntu 10.04 机器上使用 Matlab 2010a。没有参数传递给 sample.m 脚本。

4

1 回答 1

0

你确定你在运行脚本后退出了 Matlab 吗?

Matlab 控制台将在内存中徘徊,从 make 运行时不可见,并且某些资源将保持锁定状态。

在你的 Makefile 中试试这个:

matlab -nosplash -nodisplay -r "sample; exit"

我测试了sample.m,它在这里工作。

于 2011-02-09T18:12:01.777 回答