gpt4 book ai didi

c++ - 如何使用makefile生成自动头文件

转载 作者:行者123 更新时间:2023-11-28 04:53:57 31 4
gpt4 key购买 nike

我正在开发一个包含大量源代码的项目。我想在编译项目时使用 makefile 创建一个包含特定环境变量的头文件,因为项目有不同的类型。我想在项目的任何地方使用头文件,因为我不想在编译项目时包含一些代码片段,反之亦然。我该怎么做?

最佳答案

这是一个快速的解决方案。这个想法是生成一个临时的 .h 文件,并且只有在某些东西发生变化时才更新实际的 .h。这可以防止您每次都重建。

 #dummy target that forces another to be run once per make invokation
.FORCE:

#target is run once per make
file.h.gen: .FORCE
echo "FOO=$(FOO)" > $@
echo "BAR=$(BAR)" > $@

#because file.h.gen is always updated, this is run once per make
file.h : file.h.gen
rsync --checksum $< $@

请注意,如果您修改 file.h 中的任何 变量,它将需要重建所有 依赖它的文件。如果需要,您可以将 .h 文件分成多个文件以提供更好的粒度。例如,您可以为每个变量创建一个头文件,每个源文件将只包含它感兴趣的变量头文件。这样您就可以只重建您需要的文件。

关于c++ - 如何使用makefile生成自动头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47588805/

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