【问题标题】:"Required package rtl not found" when building with Hudson使用 Hudson 构建时“找不到所需的包 rtl”
【发布时间】:2012-09-03 07:32:00
【问题描述】:

我正在尝试让 Hudson 与我的 Delphi 项目一起工作。我正在使用以下批处理文件来构建我的项目(如blog post 中所建议的那样):

call "C:\Program Files\Embarcadero\RAD Studio\8.0\bin\rsvars.bat"
msbuild /p:Win32LibraryPath="$(BDS)\lib;$(BDS)\lib\win32\release;$(BDS)\lib\win32\debug;$(BDSUSERDIR)\Imports;$(BDS)\Imports;$(BDSCOMMONDIR)\Dcp;$(BDS)\include;" /t:build /p:config=Debug /verbosity:detailed "MyProject\src\MyProject.dproj"
if errorlevel 1 exit 1

我总是以错误告终

Embarcadero Delphi for Win32 compiler version 22.0
Copyright (c) 1983,2010 Embarcadero Technologies, Inc.
Fatal: E2202 Required package 'rtl' not found

我不明白这一点,因为 rtl.dcp 在库路径上的“$(BDS)\lib\win32\release”中。顺便说一句,我正在使用运行时包。

任何提示我可以做些什么来解决这个问题?

编辑似乎路径并没有在命令行中结束,看起来像(在删除项目特定路径之后):

C:\Program Files\Embarcadero\RAD Studio\8.0\bin\dcc32.exe -$O- -$W+ --inline:off -$A4 -$R+ -$Q+ --doc --no-config -B -LUrtl;vcl;ReportingR;ComponentsR -Q -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE -DDEBUG;CONSTRAINT_CHECKING;_VER6;EUREKALOG_VER6;EurekaLog -V -VN -GD --drc -W-SYMBOL_DEPRECATED -W-SYMBOL_PLATFORM -W-UNIT_PLATFORM -W-UNIT_DEPRECATED   Myproject.dpr   

【问题讨论】:

  • 尝试 sysinternals 进程监视器以​​获取尝试的路径和位置。这些变量是否被扩展以及扩展至哪些值。
  • @Arioch'关于我如何做到这一点的任何更具体的提示?我应该看哪个过程?究竟要注意什么?
  • 为什么要设置Win32LibraryPath? rsvars.bat 不这样做吗?
  • @David: rsvars.bat 设置 $BSD、$BSDCOMMONDIR、$PATH 和一些 .NET 框架的东西
  • 所有参与构建过程的过程。当你从 IDE 和你的 bat 中调用它们时比较命令行和配置文件

标签: delphi continuous-integration hudson delphi-xe


【解决方案1】:

我在对原始博客文章的评论中找到了答案。事实证明,在 Delphi XE 中,他们将Win32LibraryPath 属性的名称更改为DelphiWin32LibraryPath。相应地更改批处理脚本可以解决问题。

【讨论】:

  • 对我来说,这是确保在 Continua CI 构建服务器上,MSBuild 具有 DelphiLibraryPath 属性来构建 Delphi XE。 XE2 及更高版本运行良好。等我有其他事情要做后,我会写一篇博文。
  • Delphi 2007、2010:Win32LibraryPath,Delphi XE 及更高版本:DelphiLibraryPath。德尔福 2007:Win32LibraryPath=%BDSRoot%\Lib\%Configuration%;%BDSRoot%\Lib;德尔福 2010:Win32LibraryPath=%BDSRoot%\Lib\%Configuration%;%BDSRoot%\Lib,德尔福 XE+:DelphiLibraryPath=%BDSRoot%\Lib\%Platform%\%Configuration%
【解决方案2】:

XE、XE2 和 XE 10.2 的第一个路径 $(BDS)\Lib 应更改为 $(BDSLIB)\$(PLATFORM)\release

【讨论】:

    猜你喜欢
    • 2019-11-01
    • 2011-01-15
    • 1970-01-01
    • 2016-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-20
    • 1970-01-01
    相关资源
    最近更新 更多