2

我的一个构建遇到了一些问题。我正在使用 Jenkins 构建 builderXE 项目,但出现以下错误。

C:\Program Files\Embarcadero\RAD Studio\8.0\Bin\CodeGear.Cpp.Targets(2341,5): error : Error: Unresolved external '__fastcall Sqlexpr::TSQLQuery::~TSQLQuery()' referenced from    C:\JENKINS\WORKSPACE\project\STRINGLOOKUPFRMCODE.OBJ
C:\Program Files\Embarcadero\RAD Studio\8.0\Bin\CodeGear.Cpp.Targets(2341,5): error : Error: Unresolved external '__fastcall Sqlexpr::TCustomSQLDataSet::~TCustomSQLDataSet()' referenced from C:\JENKINS\WORKSPACE\project\STRINGLOOKUPFRMCODE.OBJ
C:\Program Files\Embarcadero\RAD Studio\8.0\Bin\CodeGear.Cpp.Targets(2341,5): error : Error: Unresolved external '__fastcall Sqlexpr::TCustomSQLDataSet::ParamByName(const System::UnicodeString)' referenced from C:\JENKINS\WORKSPACE\project\STRINGLOOKUPFRMCODE.OBJ
C:\Program Files\Embarcadero\RAD Studio\8.0\Bin\CodeGear.Cpp.Targets(2341,5): error : Error: Unable to perform link

我读到可以使用 rsvars.bat 修复路径,但是当我尝试时没有任何反应。这是我尝试过的。

"C:\Program Files\Embarcadero\RAD Studio\8.0\bin\rsvars.bat" MSBuild "/t:Clean;Build" "/p:config=Release" "C:\jenkins\workspace\project\myProject.cbproj"  

该项目在 builderXE 中编译没有问题,但是当我使用 Jenkins 或仅使用命令行时,我得到了这些错误。我需要做什么才能让它再次工作。

更新:我已经用我正在使用的脚本更新了我的帖子。

set PATH="C:\Program Files\Embarcadero\RAD Studio\8.0\lib\win32\release;C:\Program  Files\Embarcadero\RAD Studio\8.0\bin;C:\Documents and Settings\All Users\Documents\RAD Studio\8.0\Bpl;C:\Program Files\Embarcadero\RAD Studio\7.0\bin;C:\Documents and Settings\All Users\Documents\RAD Studio\7.0\Bpl;C:\PROGRA~1\Serena\vm\win32\bin;C:\PROGRA~1\Serena\vm\common\bin\win32;C:\PROGRA~1\Borland\CBUILD~1\Projects\Bpl;C:\PROGRA~1\Borland\CBUILD~1\Bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Wave Systems Corp\Dell Preboot Manager\Access Client\v5\;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\tmssoftware\TMS Component Pack\bpl\;C:\Program Files\SmartBear\Automated Build Studio\bin;C:\Program Files\Mercurial;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\borland\CBuilder5\Bin;C:\Program Files\Embarcadero\RAD Studio\8.0\bin;C:\Program Files\Embarcadero\RAD Studio\7.0\bin;%IMPLIB%;%ADV%\x86;C:\Program Files\TortoiseHg\;C:\Python26;C:\Program Files\Embarcadero\RAD Studio\8.0\lib\win32\debug;"

call "C:\Program Files\Embarcadero\RAD Studio\8.0\bin\rsvars.bat"
MSBuild "C:\jenkins\workspace\project\myProject.cbproj" "/t:Clean;Build" "/p:config=Release" 
4

1 回答 1

0

在 Jenkins 中,您是否使用“执行 Windows 批处理命令”来进行这些调用?如果是这样,试试这个:

call "C:\Program Files\Embarcadero\RAD Studio\8.0\bin\rsvars.bat"
MSBuild "/t:Clean;Build" "/p:config=Release" "C:\jenkins\workspace\project\myProject.cbproj"

call命令将运行批处理文件并设置当前会话中的所有环境变量。然后,这些将可用于您的 MSBuild 调用。

还要确保您需要的任何 dll 都在当前的 %PATH% 中。您可以通过以下方式做到这一点:

set PATH=<your_dll_path_here>;%PATH%

这应该在一开始就完成。

于 2012-11-29T14:10:15.327 回答