gpt4 book ai didi

c++ - 构建 .proto 并移动 .h

转载 作者:行者123 更新时间:2023-11-28 07:21:13 27 4
gpt4 key购买 nike

我正在尝试从我的 .proto 生成 C 文件。
我能够做到,但它们是在同一个文件夹中生成的。在此之后,我需要将 .h 文件移动到我的包含目录中。
此时我正在使用 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"),
])

但是当我运行 scons 时出现以下错误:

scons: * Two environments with different actions were specified for the same target:

有什么想法吗?

最佳答案

您不能拥有目标和源相同的命令(或任何生成器)。 SCons 如何知道它是否是最新的,即该构建器是否需要运行?

也许试试:

tgt = localenv.Command(os.path.join(incFolder, proto_files[1]), proto_files[1],
[
Move("$SRC","$TARGET"),
])

如果这不起作用,请添加完整的错误消息(这次包括目标名称)。

关于c++ - 构建 .proto 并移动 .h,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19448685/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com