gpt4 book ai didi

c++ - 使用 scons 管理版本的最佳实践?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:20:08 25 4
gpt4 key购买 nike

我希望我的 Qt/C++ 应用程序知道它是哪个版本。它应该知道不是来自一些配置文件,而是编译成应用程序二进制文件的版本号。版本本身就是像“X.Y.Z”这样的字符串,其中X是主版本号,Y是次版本号,Z是SVN下的修订版(或者SVN下的修订号减去版本号“X.Y.0”出来时的修订号) ).您认为使用 scons 实现此目的的最简单方法是什么?

最佳答案

SCons 具有用于生成文件的SubstfileTextfile 构建器。因此,创建一个函数来计算版本(使用 pysvn 或通过调用 svn 命令)并使用 Substfile (从文件中获取模板)将其输出写入文件或Textfile(只写提供的内容)。然后编译该文件并将其与应用程序的其余部分链接。

该文件应该是一个源文件(不是头文件),其内容如下(假设是 C/C++,但同样的技术适用于任何语言):

char *VERSION = "X.Y.Z";

(以及您想要的任何其他替代格式)并声明

extern char *VERSION;

在某个地方,只有一个文件会被重新编译并重新链接应用程序(无论如何它都会重新链接,因为其他一些源可能也发生了变化,对吧)。

关于c++ - 使用 scons 管理版本的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5269102/

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