PDA

View Full Version : Problem using Borland Developer Studio 2006 and Visual Build Pro


Steffen Nissen
06-26-2007, 07:40 AM
We are using Visual Build Pro in combination with Borland Developer Studio 2006 (C++ projects).

Our problem is that if there is a compilation error, then the project continous and the build step is not marked in an error state.

I was able to reproduce this problem with the canvas example project, in both version 6.3 and 6.4 of Visual Build Pro.

Is there anyway to force Visual Build Pro to stop whenever a compilation problem occurs?

Best Regards,
Steffen

kinook
06-26-2007, 09:07 AM
The Make Delphi action will fail as long as bds.exe returns a non-zero exit code. In our tests w/ a bogus line added to canmain.cpp in the Canvas sample from BDS 2006, the attached .bld file produced build output of:

6/26/2007 6:59:36 AM: --------------------Starting Build: 'canvas.bld'--------------------
6/26/2007 6:59:36 AM: Building project step 'Canvas'...
building...

[C++ Error] canmain.cpp(8): E2048 Unknown preprocessor directive: 'testx'
[ more error output snipped ]
[C++ Error] iosfwd(238): E2228 Too many error or warning messages

Process completed with exit code 1
6/26/2007 6:59:44 AM: Step 'Canvas' failed
6/26/2007 6:59:44 AM: Build ended.


Please ZIP and send or post:
1) The info from Help | About | Install Info
2) The .bld file
3) A build log file
4) The modified canvas sample
5) The version of BDS being used

Thanks.

Steffen Nissen
06-26-2007, 09:59 AM
Hi,

I tried the .bld file that you have attached, and I got the following result:

26-06-2007 16:53:39: --------------------Starting Build: 'canvas.bld'--------------------
26-06-2007 16:53:39: Building project step 'Project steps'...
26-06-2007 16:53:39: Building project step 'Canvas'...
building...

[C++ Error] Canvas.cpp(19): E2451 Undefined symbol 'Applicat'
[C++ Error] Canvas.cpp(19): E2379 Statement missing ;

26-06-2007 16:54:22: Build successfully completed.

This is when running in a trial version of 6.4, but I have also had similar results with a production version of version 6.3.

The results from Help->About->Install Info is:
Visual Build Professional 6.4
Evaluation Version: 29 days remaining
Windows Version: 5.1.2600.2.0
Install path: C:\Program Files\VisBuildPro6
SftTree_IX86_U_50.dll version 5.06
unins000.exe version 51.46.0.0
VisBuildCmd.exe version 6.4.0.2
VisBuildPro.exe version 6.4.0.2
VisBuildBld.dll version 6.4.0.2
VisBuildBurn.dll version 6.4.0.2
VisBuildCore.dll version 6.4.0.2
VisBuildDotNET.dll version 6.4.0.0
VisBuildExt.dll version 6.4.0.3
VisBuildLog.dll version 6.4.0.2
VisBuildMisc.dll version 6.4.0.3
VisBuildMS.dll version 6.4.0.2
VisBuildMS2.dll version 6.4.0.2
VisBuildNet.dll version 6.4.0.3
VisBuildSvr.dll version 6.4.0.2
VisBuildSvr.Interop.dll version 1.0.0.0
VisBuildVCS.dll version 6.4.0.4

kinook
06-26-2007, 10:12 AM
Apparently bds.exe is returning an exit code of 0 in your case. To reproduce the problem outside of VBP:
1) Check the 'Log command-line...' checkbox on the Options tab of the Make Delphi action
2) Rebuild the step
3) Using Notepad or a text editor, create a batch file with the bds.exe command-line from the build log on the first line, followed by

echo %errorlevel%

on the second line, and run the batch file at a Command Prompt. It should return a non-zero exit code (errorlevel) if errors occurred. If not, you can open a support incident w/ CodeGear regarding the problem.

You may also be able to work around the problem by parsing the output for error conditions in the step's vbld_StepDone script event:


Sub vbld_StepDone()
If InStr(vbld_AllMacros()("LASTSTEP_OUTPUT"), "[C++ Error]") > 0 Then
Step.BuildStatus = vbldStepStatFailed
End If
End Sub


http://www.visualbuild.com/Manual/scriptevents.htm

Steffen Nissen
06-27-2007, 05:57 AM
Thanks a lot, the script works like a charm.