scons命令功能不起作用

时间:2014-09-23 11:38:43

标签: scons

我试图在SCons中使用我的SConscript中的Command函数,但没有成功。当我从我的项目中创建一个新的SConstruct并在SConstuct中添加相同的行时,它可以工作。

env = Environment()
testing1= env.Command(None,None,'ls -l')
AlwaysBuild(testing1)

我不明白为什么简单的Command在我的项目SConscript中没有工作,而且在它之外。

我项目的输出是:

scons: done reading SConscript files.
scons: Building targets ...
scons: Nothing to be done for `/myproject/SConscript'.
scons: done building targets.

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

SCons是一个" build"系统,所以它希望你有一个像" target"要创建的文件/文件夹(= build)。如果在SConscript中,您将调用命令构建器:

env.Command("mydummy", None, 'ls -l')

(没有AlwaysBuild调用),SCons会尝试构建" mydummy"通过调用命令" ls -l"。它会一遍又一遍地这样做,因为" ls -l"永远不会创建请求的目标文件...除非您将操作更改为" ls -l> mydummy",或文件已经存在。