I'm using the Delphi 5 command-line compiler to do a build. The build does not report any errors, however it does not generate the EXE file either.
I can confirm the following:
- Doing the same build via the IDE behaves correctly.
- There is no difference in the source code or options between IDE vs. DCC32 build.
- The problem occurrs only on a full build. I.e. doing a build first with -B option and followed by one without, the 'compile' correctly generates the EXE file.
- Using the -E switch on the command-line to force an invalid build output path doesn't report an error -- as if there isn't even an attempt to generate the EXE file.
- Other projects do build correctly.
- I have disabled anti-virus software and so can confirm that that is not the problem.
EDIT Although I experienced this with Delphi 5, it is not specific to that version. The Delphi Bug List confirmed the issue in at least D4-D6.
After a lengthy investigation, I've managed pinpoint the problem.
{$ObjExportAll ON}
that was used in some of our third party packages.You can test the bug with the following simple project:
Fortunately we don't use BCB at all, so I've simply disabled the directive wherever it occurred.
EDIT
The wonderful resource The Delphi Bug List reports that the issue was confirmed to exist in Delphi 4, 5, and 6. Unfortunately, The Delphi Bug List was discontinued after that. :(