ada_demo_gprbuild demo.gpr操作流程
一、完整执行链路梳理
- 切换到项目目录
cmd
D:
cd D:\ada_demo
- 直接运行已有程序
cmd
main.exe
输出 Hello Ada GNAT 16.1,程序运行正常。
3. 首次构建项目
cmd
gprbuild demo.gpr
完整走完「编译→绑定→后绑定编译→链接」四阶段,重新生成 main.exe。
4. 清理编译产物
cmd
gprclean demo.gpr
自动删除 .o/.ali/b__main.adb/main.exe 等全部编译产出。
5. 手动删除 IDE 缓存(报错)
cmd
del .ada_*.json
提示找不到文件:gprclean 会同步清除 .ada_*.json 缓存,清理后目录无匹配文件,命令无效。
6. 二次重新构建
再次执行 gprbuild demo.gpr,完整编译流程无报错,重新生成全套文件。
7. 再次运行程序
cmd
main.exe
依旧正常输出打印信息,工具链稳定。
二、关键知识点
1. gprclean 作用
无需手动删中间文件,一条命令即可清空:
- 目标文件 *.o、库信息 *.ali
- 绑定生成代码 b__*.adb
- 可执行程序 main.exe
- IDE Ada 插件缓存 .ada_*.json
2. 报错 Could Not Find .ada_*.json 原因
清理操作在前,缓存文件已被 gprclean 删除,此时执行 del 自然找不到匹配文件,这条删除命令完全多余。
如果需要手动清理 IDE 缓存,顺序必须颠倒:先编译,再删 json,不能先 clean。
3. 标准开发流程(推荐)
- 改代码后构建运行:
cmd
gprbuild demo.gpr
main.exe
- 需要干净目录时:
cmd
gprclean demo.gpr
gprbuild demo.gpr
main.exe
三、整体结论
你的 Ada 工具链(GNAT + GPRBuild)工作完全正常,编译、清理、运行全流程无功能性故障;仅手动删除缓存的操作时机不当导致提示,不影响程序功能。
编制:刘平安Email:185286490@qq.com