You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Keil IDE中实现应用程序构建版本的自动生成?

在Keil IDE中自动生成构建版本的配置方法

方法一:预构建脚本自动递增构建号

  • 创建版本头文件(比如version.h),定义基础版本信息:
    #ifndef VERSION_H
    #define VERSION_H
    
    #define VERSION_MAJOR 1    // 主版本号,手动更新
    #define VERSION_MINOR 0    // 次版本号,手动更新
    #define BUILD_NUMBER 0     // 构建号,脚本自动递增
    #define BUILD_DATE __DATE__// 编译日期,Keil内置宏
    #define BUILD_TIME __TIME__// 编译时间,Keil内置宏
    
    #endif // VERSION_H
    
  • 编写批处理脚本update_build_num.bat,实现构建号自增:
    @echo off
    setlocal enabledelayedexpansion
    
    set "header_file=version.h"
    set "temp_file=temp_version.h"
    
    for /f "tokens=*" %%a in (%header_file%) do (
        set "line=%%a"
        if "!line:~0,21!"=="#define BUILD_NUMBER " (
            set "build_num=!line:~21!"
            set /a build_num+=1
            echo #define BUILD_NUMBER !build_num!>>%temp_file%
        ) else (
            echo !line!>>%temp_file%
        )
    )
    
    move /y %temp_file% %header_file% >nul
    
  • 配置Keil预构建命令:
    1. 打开工程,点击工具栏的Options for Target(魔法棒图标)
    2. 切换到User标签页
    3. 在Before Build/Rebuild区域勾选Run #1,填入脚本的绝对路径(比如D:\YourProject\update_build_num.bat)
    4. 确认脚本和version.h路径正确,Keil有权限访问执行

方法二:用Keil内置宏生成时间戳版本

  • 无需额外脚本,直接在代码中使用Keil支持的内置宏生成版本字符串:
    #define APP_FULL_VERSION "v1.0 built on " __DATE__ " at " __TIME__
    
  • 每次构建时,__DATE__和__TIME__会自动替换为当前编译的日期和时间,可在程序中打印该字符串或存入Flash用于版本查询

方法三:关联Git版本(适用于Git管理的项目)

  • 编写脚本update_git_version.bat,读取Git最新提交的短哈希:
    @echo off
    for /f "tokens=*" %%i in ('git rev-parse --short HEAD') do set GIT_HASH=%%i
    echo #ifndef GIT_VERSION_H>git_version.h
    echo #define GIT_VERSION_H>>git_version.h
    echo #define GIT_COMMIT_HASH "%GIT_HASH%">>git_version.h
    echo #endif // GIT_VERSION_H>>git_version.h
    
  • 在Keil的Before Build/Rebuild中配置执行该脚本,然后在version.h中引入git_version.h,实现构建版本与Git提交记录同步,方便追溯版本对应代码

内容的提问来源于stack exchange,提问作者Mohammad Ali Nekouie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 06:42:03