斯康斯在抱怨
implicit dependency foo not found, needed by target bar
foo 在我的 SCons 构建流程中创建,然后在创建目标栏时使用。创建 foo 后,SCons 在运行 bar 之前重新检查依赖项时抱怨它不存在。为什么 SCons 缓存 foo 的存在检查?
失败后,如果我删除 .sconsign.dblite 并重新运行,SCons 会找到该文件并继续运行。
斯康斯在抱怨
implicit dependency foo not found, needed by target bar
foo 在我的 SCons 构建流程中创建,然后在创建目标栏时使用。创建 foo 后,SCons 在运行 bar 之前重新检查依赖项时抱怨它不存在。为什么 SCons 缓存 foo 的存在检查?
失败后,如果我删除 .sconsign.dblite 并重新运行,SCons 会找到该文件并继续运行。
问题是我正在运行
SetOption('implicit_cache', 1)
当我注释掉隐式缓存时,这个问题不会出现。这似乎是一个错误......如果隐式缓存说文件不存在,SCons 不应该重新检查文件吗?
根据http://www.scons.org/doc/0.97/HTML/scons-user/x933.html答案是使用 --implicit-deps-changed 构建一次以告诉 SCons 重新扫描。