使用Jenkins编译Delphi 10.4项目时缺失*.res文件致编译失败
Delphi 10.4 + Jenkins 编译资源文件缺失问题排查方案
验证Delphi环境变量配置
- 确认Jenkins从机的
BDSCOMMONDIR环境变量指向正确路径(Delphi 10.4对应路径通常为C:\Users\Public\Documents\Embarcadero\Studio\21.0),Controls.res等资源文件默认存储在该路径下的Resources子目录中 - 在Jenkins构建脚本中添加
echo %BDSCOMMONDIR%命令,打印并核对环境变量值
- 确认Jenkins从机的
检查资源文件实际存在性
- 登录Jenkins从机,直接访问
%BDSCOMMONDIR%\Resources目录,确认Controls.res、Dialogs.res、Buttons.res三个文件是否存在 - 若文件缺失,从本地正常编译的Delphi环境中复制对应文件到从机的该目录
- 登录Jenkins从机,直接访问
核对项目资源搜索路径
- 打开失败项目的
.dproj文件,查找<DCC_ResourcePath>节点,确认其中包含$(BDSCOMMONDIR)\Resources路径 - 将该配置与正常编译的项目
.dproj对比,确保路径配置一致
- 打开失败项目的
检查Jenkins运行权限
- 确认Jenkins服务使用的账号对Delphi公共资源目录、项目工作目录拥有读取权限
- 切换到Jenkins账号登录从机,手动编译这3个项目,排查是否因权限不足导致文件无法访问
排查
.optset文件配置- 打开
variable.optset文件,搜索资源路径相关配置项,确认没有覆盖或错误修改默认的资源搜索路径
- 打开
内容的提问来源于stack exchange,提问作者Franz
相关产品推荐
相关产品推荐

