If you an error like below when compiling Delphi XE5 .dproj files using msbuild … then note the documentation for Debug information (Delphi) – RAD Studio. has not been updated yet as it still lists the values {$D+}
or {$D-}
{$DEBUGINFO ON}
or {$DEBUGINFO OFF}
.
(_PasCoreCompile target) -> C:\Program Files (x86)\Embarcadero\RAD Studio\12.0\Bin\CodeGear.Delphi.Targets(187,5): error F1026: File not found: 'False.dpr'
With Delphi XE5, you can specify 3 additional values: {$D1}
, {$D2}
and {$D0}
, or {$DEBUGINFO 1}
, {$DEBUGINFO 2}
or {$DEBUGINFO 0}
In the msbuild .dproj files , the values are stored as DCC_DebugInformation elements. Up until Delphi XE4, the values could be false
, False
, true
and True
:
As of Delphi XE5, these values can only be 0, 1 or 2:
So the compiler in the IDE understands all 5 possibilities, but the The built-in compiler accepts all 3, but the msbuild scripts only accept 0, 1 and 2.
The major bug is that when you pass a .dproj file having the old false/False or true/True values, you get the above error.
The bug could have been resolved by the IDE to convert .dproj files correctly, but it does not replace false/False with 0, nor true/True with 1 or 2.
Note that the command-line compilers have not updated their built-in help, but the IDE allows all three values:
The reason for the change $D was changed to allow three-levels of debug information generation so the DWARF debugging part of the LLVM backend gets enough information to adequately debug your Android and iOS applications using gdb, and DWARF is the only symbol format that gdb understands.
Apple had similar extension of debug information when they started to support LLVM and DWARF.
The solution
manually update your .dproj files.
–jeroen
Filed under: Delphi, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Development, Software Development