使用脚本(命令行)编译KEIL工程
转载部分:
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/daoshuti/article/details/78212457
参考KEIL官网
http://www.keil.com/support/man/docs/uv4/uv4_commandline.htm
Keil_Build.bat脚本
@echo off
set UV=D:\Keil_v5\UV4\UV4.exe
set UV_PRO_PATH=F:\source\systick\Keil_5\systick.uvprojx
echo Init building ...
echo .>build_log.txt
%UV% -j0 -r %UV_PRO_PATH% -o %cd%\build_log.txt
type build_log.txt
echo Done.
pause
使用方法:
0. 新建记事本重命名为Keil_Build.bat,并复制上述批处理代码
1. UV配置为KEIL路径
2. UV_PRO_PATH配置为工程路径
3. 双击脚本执行
原创部分:
1. 原方案优化
1.1 环境变量中,添加UV.exe的安装路径
批处理中使用%KEIL_PATH%替换具体的安装路径"C:\Keil_V5\UV4\UV4.exe"
1.2 自动获取当前目录下后缀为uvprojx的工程文件
for /f "usebackq delims=" %%j in (`dir /b "%UV_PRO_DIR%"\*."%UV_PRO_FILE%"`) do (
if exist %%j (
set UV_PRO_FILE_PATH="%UV_PRO_DIR%\%%j"))
1.3 前文中的编译配置"-r"为全编译(Rebuld),查看Keil官网中的说明(http://www.keil.com/support/man/docs/uv4/uv4_commandline.htm)
编译配置更改为"-b"为增量编译(Build)
调整后的批处理文件,如下所示:
@echo off
set UV=%KEIL_PATH%
set UV_PRO_FILE="uvprojx"
set UV_PRO_DIR=%cd%
for /f "usebackq delims=" %%j in (`dir /b "%UV_PRO_DIR%"\*."%UV_PRO_FILE%"`) do (
if exist %%j (
set UV_PRO_FILE_PATH="%UV_PRO_DIR%\%%j"))
echo %UV%
echo %UV_PRO_DIR%
echo %UV_PRO_FILE_PATH%
echo Init building ...
echo .>build_log.txt
%UV% -j0 -r %UV_PRO_FILE_PATH% -o %cd%\build_log.txt
type build_log.txt
echo Done.
pause
2. 应用示例
工程文件和批处理文件,放置在相同目录:
双击批处理文件后,增量编译: