[英]scons: how to specify dependency to an external build target?
我正在使用protobuf
从中生成。 proto文件到.cc/.h 文件。 所以我的SConscript
如下:
env.protoc('my.proto')
env.Program(target='pb_my', CCFLAGS="-I.",
source=['pb_my.cpp', 'my.pb.cc'], LIBS='protobuf')
我发现,“环境”。 SConscript 中的命令不是按顺序执行的(这就是为什么可以使用 scons -j20 并行构建目标的原因)。 但有时问题是,因为“pb_my”的目标应该在我从“my.proto”生成“my.pb.cc”之后构建,scons 会报告错误是第二行首先执行。
那么我如何指定第二行的目标只应在第一行完成后执行?
非常感谢。
您不能直接在 scons 中指定顺序。
正确的方法是确保指定依赖项。
请包含您的 protobuf 构建器的代码?
如果从您的 protobuf 构建器输出的文件在生成之前被编译,您的 protobuf 构建器可能没有指定它们。
另外,请将 scons --tree=prune 的输出添加到您的问题中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.