2012-11-28 69 views
2

我的某個版本有問題。我正在使用Jenkins構建builderXE項目,但出現以下錯誤。程序在IDE中編譯得很好,但不能在命令行上編譯

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沒有問題,但是當我使用詹金斯,或者只是在命令行中我得到這些錯誤。我需要做些什麼才能讓這個工作重新開始。

更新:我已更新我的帖子與我正在使用的腳本。

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" 

回答

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% 

這應該是在一開始就做。

+0

謝謝您的回覆。我希望我能早日回覆。嘗試您所建議的內容後,我仍然收到這些錯誤。我也嘗試將DLL路徑放在與MSBuild調用相同的執行批處理命令中。 – themaniac27

+0

你能發佈你的確切腳本嗎?另外,在你的執行Windows批處理命令中,你能放置'path',並在這裏發佈輸出嗎? – Sagar

+0

c:\ jenkins \ workspace \ project> PATH PATH =%FrameworkDir%;%FrameworkSDKDir%;%PATH%;%IMPLIB%;%hg% – themaniac27

相關問題