C++ 建筑。原型和移动。h
我正在尝试从.proto生成C文件。C++ 建筑。原型和移动。h,c++,protocol-buffers,scons,C++,Protocol Buffers,Scons,我正在尝试从.proto生成C文件。 我可以这样做,但它们是在同一个文件夹中生成的。在此之后,我需要将.h文件移动到include目录中。 目前我正在使用ProtoC Builder,但没有将.h提交到其他文件夹的选项。因此,我尝试在如下内容后执行命令移动: proto_files = localenv.Protoc( [], protoList, PROTOCPROTOPATH=[builddir], PROTOCPYTHONOUTDIR=None, # set
我可以这样做,但它们是在同一个文件夹中生成的。在此之后,我需要将.h文件移动到include目录中。
目前我正在使用ProtoC Builder,但没有将.h提交到其他文件夹的选项。因此,我尝试在如下内容后执行命令移动:
proto_files = localenv.Protoc(
[],
protoList,
PROTOCPROTOPATH=[builddir],
PROTOCPYTHONOUTDIR=None, # set to None to not generate python
PROTOCOUTDIR = builddir, # defaults to same directory as .proto
# PROTOCCPPOUTFLAGS = "dllexport_decl=PROTOCONFIG_EXPORT:", too
)
localenv.Command(proto_files[1], proto_files[1],
[
Move("$SRC",incFolder+"/$TARGET"),
])
但当我运行SCON时,出现以下错误:
SCON:*为指定了两个具有不同操作的环境
同一目标:
有什么想法吗?您不能有目标和源相同的命令(或任何生成器)。SCons如何知道它是否是最新的,即该构建器是否需要运行
也许可以试试:
tgt = localenv.Command(os.path.join(incFolder, proto_files[1]), proto_files[1],
[
Move("$SRC","$TARGET"),
])
如果这不起作用,请添加完整的错误消息(这次包括目标名称)。我把周围的变量弄得有点乱,可以用解决方案解决问题。谢谢