Is there a DCC32 option to treat a specific compil

2019-03-11 13:20发布

问题:

For command-line builds, I would like to treat warnings (for example "Constructing instance containing abstract method") as errors. I have not found a dcc32 command line option for this purpose in Delphi 2009. Is there a way, for example using dcc32.cfg, to do this?

回答1:

Like this:

dcc32 -W^^CONSTRUCTING_ABSTRACT MyProject.dpr

For example, with this program:

program MyProject;

type
  TMyClass = class
    procedure X; virtual; abstract;
  end;

begin
  TMyClass.Create;
end.

And here's the output:

>dcc32 MyProject.dpr
Embarcadero Delphi for Win32 compiler version 24.0
Copyright (c) 1983,2012 Embarcadero Technologies, Inc.
Myproject.dpr(9) Warning: W1020 Constructing instance of 'TMyClass' containing abstract method 'TMyClass.X'
Myproject.dpr(12)
13 lines, 0.03 seconds, 21568 bytes code, 13256 bytes data.

>dcc32 -W^^CONSTRUCTING_ABSTRACT MyProject.dpr
Embarcadero Delphi for Win32 compiler version 24.0
Copyright (c) 1983,2012 Embarcadero Technologies, Inc.
Myproject.dpr(9) Error: E1020 Constructing instance of 'TMyClass' containing abstract method 'TMyClass.X'
Myproject.dpr(12)

If you want all warnings to be treated as errors then you do it like this:

dcc32 -W^^ MyProject.dpr

For further reading I refer you to Delphi XE2's hidden hints and warnings options.