当foo存在时,为什么scons抱怨“目标栏需要隐式依赖foo”?

时间:2009-07-02 18:19:00

标签: scons

Scons在抱怨

  implicit dependency foo not found, needed by target bar

foo是在我的SCons构建流程中创建的,然后在创建目标栏时使用。创建foo之后,SCons抱怨它在运行bar之前重新检查依赖项时不存在。为什么SCons缓存foo的存在检查?

我收到失败后,如果我删除.sconsign.dblite并重新运行,SCons会找到该文件并继续运行。

2 个答案:

答案 0 :(得分:3)

问题在于我正在运行

SetOption('implicit_cache', 1)

当我注释掉隐式缓存时,这个问题就不会显现出来了。这似乎是一个错误...如果隐式缓存说文件不存在,SCons不应该重新检查文件吗?

答案 1 :(得分:0)

根据http://www.scons.org/doc/0.97/HTML/scons-user/x933.html,答案是使用--implicit-deps-changed构建一次,以告知SCons重新扫描。