【问题标题】:How to have an auto incrementing build version number (KDevelop)?如何拥有自动递增的构建版本号(KDevelop)?
【发布时间】:2017-07-05 14:13:57
【问题描述】:

如何在 KDevelop 中拥有一个自动递增的构建版本号?

我想为我在 中的本地 项目设置半自动版本控制。

类似:

int MajorVersion = 1;  // this manual 
int MinorVersion = 2;  // this manual
int Revision = 42;     // this automatically increased each time I compile

当我编译时,它会自动增加 Revision 字段。

此功能是否隐藏在设置中的某处,这些值是否可以从系统(主要是 Linux,但一般而言)访问,还是必须由用户实现?

请注意,我正在 中寻找解决方案,或者如果尚未允许使用可从命令行编译然后导入 KDevelop 的简单方法。
我不是在寻找 VisualStudio 的解决方案,因为许多答案都来自一些类似的问题 [1],[2]...

【问题讨论】:

  • 这不是 IDE 的问题,而是正在使用的构建系统的问题。您使用的是哪个构建系统?
  • @kfunk cmake。似乎 kdevelop 与 c++ 默认使用 CMake ......顺便说一句,我记得很多年前,在 Visual Studio 中,这是一个集成在 IDE 中的功能(在 VB6 的时候,即使我不记得是否是自我更新)。然后可以在可执行文件中挽救这些信息(右键单击,信息)......所以我认为现在可以在 kdevelop 中找到类似的功能。这个方向有什么标准吗?

标签: c++ kdevelop kdevelop c++ linux version open-source kdevelop


【解决方案1】:

这与您使用的 IDE 无关。这是相当构建系统的事情。如果您使用的是 CMake,我想像这样:

if(NOT BUILD_REVISION)
  set(BUILD_REVISION 0 CACHE STRING "")
else()
  math(EXPR BUILD_REVISION "${BUILD_REVISION} + 1")
endif()

add_definitions(-DBUILD_REVISION=${BUILD_REVISION})

然后在代码中

int Revision = BUILD_REVISION;

【讨论】:

  • 感谢您的提示。我将尝试与 Kdevelop 一起使用。
  • 注意:每当 BUILD_REVISION 更改时,这将重新编译您的所有代码——最好使用包含版本字符串的专用文件(我们称之为 version.h)。请参阅此操作方法:brianmilco.blogspot.de/2012/11/… -- 只需在需要的地方包含 version.h 即可
猜你喜欢
  • 2010-10-24
  • 1970-01-01
  • 2015-12-13
  • 1970-01-01
  • 1970-01-01
  • 2011-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多