【发布时间】:2017-09-27 12:03:53
【问题描述】:
我正在尝试生成一些源文件,并使用生成的文件进行编译..
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的时候报错如下:
失败:来源
demo.cc' not found, needed by targetdemo.o'。
通过ls demo.cc,我确信需要的文件demo.cc确实是在正确的目录下生成的。
原因应该是依赖关系。注意到我在 demo.cc 上指定了 bin 的显式依赖。还是失败了。
任何想法为什么?
===== 更多详情 =====
每个干净的构建,即 scons -c && scons -j4,都有效。但是即使有 demo.cc 文件,后记构建也会失败。
【问题讨论】:
标签: build dependencies scons