我的产品正在从Delphi 6迁移到更新的Delphi XE3。 Delphi 6编译器曾经输出编译为可执行文件的文件列表:
Borland Delphi Version 14.0
Copyright (c) 1983,2002 Borland Software Corporation
ProjectName.dpr(X)
...
PathToSomeUnit.pas(X)
...
PathToSomeIncludedFile.inc(X)
...
X lines, X.XX seconds, X bytes code, X bytes data.
"X"代表一些数字
我们有一个内部软件,用于分析应用程序和特定文件之间的依赖关系 - 单元和包含的文件。该软件使用dcc32控制台输出(如上所示)作为其输入。
使用新的Delphi XE3,我们不再直接调用dcc32,而是使用MSBuild。不幸的是,当禁用“安静编译”选项时,控制台输出与Delphi 6不同。编译文件列表的位置会有多个空行。
Embarcadero Delphi for Win32 compiler version 24.0
Copyright (c) 1983,2012 Embarcadero Technologies, Inc.
[multiple blank lines]
X lines, X.X seconds, X bytes code, X bytes data. (TaskId:65)
使用/verbosity:diagnostic参数后,它看起来如下:
Embarcadero Delphi for Win32 compiler version 24.0 (TaskId:65)
Copyright (c) 1983,2012 Embarcadero Technologies, Inc. (TaskId:65)
(TaskId:65)
(TaskId:65)
(TaskId:65)
(TaskId:65)
(TaskId:65)
(TaskId:65)
...
X lines, X.X seconds, X bytes code, X bytes data. (TaskId:65)
直接调用dcc32时,出现了类似的问题,但通过使用"-B"编译器开关(-B = 构建所有单元),问题得以解决。我尝试了类似的方法,通过添加/p:DCC_AdditionalSwitches=-B来使用MSBuild,但仍然输出多个空行。