我搜了下网页,已经有类似的文章,主要是通过shell命令将git版本信息写入到模板文件中来实现这个目的。但我还是写这篇文章的目的在于
1. 自己实现的过程,通过写文章的方式可以加深印象。
2. 因为是在windows平台下开发,所以这里用batch脚本实现。
3. 在Windows下开发的话,可能有朋友需要在exe的详细信息里也能看到版本信息,这里也整合了这个功能。
4. 类似的文章只截图脚本,并没有提供完整的源代码。这里将示例代码提交到GitHub上,有需要的朋友可以直接下载。
地址:https://github.com/windpenguin/SyncGitRevision。
步骤1
定义版本模板文件RevisionTemp.h。这个文件预先定义了版本信息相关的宏。脚本会根据这个模板文件生成Revision.h。
步骤2
编写脚本SyncRevision.bat,这个脚本在程序编译前执行,获取版本信息并写入到代码中。
步骤3
VisualStudio工程可以自定义生成步骤,右键项目->属性->自定义生成步骤,配置在项目编译前执行脚本。
步骤4
之前的步骤已经生成了版本信息头文件,可以直接引用并使用。如果想在可执行程序中也能看到版本信息,需要添加资源文件。右键项目->