DELPHI 11结合Jenkins与MSBUILD时*.res文件缺失E1026错误修复指南
修复Delphi 11 + Jenkins + MSBUILD编译时的E1026资源文件找不到错误
以下是针对E1026错误(找不到Dialogs.res、Buttons.res等VCL资源文件)的具体修复步骤和设置调整:
1. 验证Jenkins构建节点的Delphi环境变量配置
Jenkins运行的系统账户必须正确配置Delphi 11的环境变量,确保MSBUILD能定位到Delphi的资源文件目录:
- 检查
BDS环境变量是否指向Delphi 11的安装根目录(例如C:\Program Files (x86)\Embarcadero\Studio\22.0) - 确保
PATH环境变量包含Delphi的bin目录(%BDS%\bin)以及对应平台的lib目录(如%BDS%\lib\Win32\Release) - 可在Jenkins构建脚本中添加验证命令:
echo %BDS%、echo %PATH%,确认变量配置正确
2. 修正MSBUILD命令的Delphi参数
在Jenkins的MSBUILD执行命令中,显式指定Delphi安装路径和目标平台,避免自动检测错误:
msbuild YourProject.dproj /t:Build /p:Configuration=Release /p:Platform=Win32 /p:BDS="C:\Program Files (x86)\Embarcadero\Studio\22.0" /p:SearchPath="%BDS%\lib\Win32\Release;YourProject\Resources"
/p:BDS:强制指定Delphi安装目录/p:SearchPath:添加资源文件的搜索路径,包含Delphi默认VCL资源目录和项目自定义资源目录
3. 检查项目文件(.dproj)的资源引用
打开项目的.dproj文件,排查资源引用配置问题:
- 删除任何硬编码的错误.res文件路径,确保VCL组件的资源引用依赖Delphi默认搜索路径
- 确认项目中自定义的.res文件存在于指定目录,且项目文件内的引用路径正确
4. 添加构建前的清理步骤
在Jenkins构建流程中,先清理旧的生成文件,避免缓存导致的资源文件缺失:
del /s /q YourProject\*.res YourProject\*.dcu YourProject\*.obj
清理完成后再执行MSBUILD编译,确保资源文件被重新生成或正确加载
5. 确认Delphi 11安装完整性
在Jenkins构建节点上,检查Delphi 11的VCL资源文件是否存在:
- 前往
%BDS%\lib\Win32\Release(或对应平台目录),确认Dialogs.res、Buttons.res等文件存在 - 如果文件缺失,运行Delphi安装程序选择"修复",重新安装VCL组件及相关资源
内容的提问来源于stack exchange,提问作者Franz
相关产品推荐
相关产品推荐

