SCons未能找到生成的文件

我打算生成一些源文件,并使用生成的文件进行编译..

gen = env.Command("/tmp/dummy", "demo.json","demo.py $SOURCE > $TARGET")
env.AlwaysBuild(gen)

bin=env.Program(target='demo', source=[Glob("*.cc")])
env.Depends(bin, gen)

该gen将生成所需的demo.cc

gen = env.Command(“/ tmp / dummy”,“demo.json”,“demo.py $ SOURCE> $ TARGET”)

但编译演示时出现如下错误:

失败:源demo.cc' not found, needed by target demo.o demo.cc' not found, needed by target '。

通过ls demo.cc,我确信所需的文件demo.cc确实是在正确的目录中生成的。

原因应该是依赖的东西。 注意到我指定了demo.cc上bin的显式依赖关系。 仍然失败。

任何想法为什么?

=====更多细节=====

每个干净的版本,即scons -c && scons -j4,都可以工作。 但即使在demo.cc文件存在的情况下,后缀构建也会失败。


你告诉SCons你的env.Command()的结果(= target env.Command()是“ /tmp/dummy ”。 尝试使用

gen = env.Command("demo.cc", "demo.json","demo.py $SOURCE > $TARGET")

相反,这样SCons可以自动获取依赖关系。 你不需要显式的Depends()

链接地址: http://www.djcxy.com/p/67925.html

上一篇: SCons fails to find generated file

下一篇: Make target depend on future unknown target