多项目条件编译Delphi

Multiple project conditional compilation Delphi

我在一个由 3 个具有共同单位的项目组成的项目组中工作。

在项目1中,我在项目源码中写到:

program Project1;
{$DEFINE FIRSTPROJECT}
uses
  .....

在项目2中,我在项目源码中写到:

program Project2;
{$DEFINE SECONDPROJECT}
uses
  .....

然后在我写的不同单位代码中:

...
{$IFDEF FIRSTPROJECT}
do this
{$ELSE}
do that
{$ENDIF}
...

第一个项目代码从未编译过(只是忽略)。但是,如果我将 {$DEFINE FIRSTPROJET} 放在同一个单元中,那么它就可以工作...(在 Delphi2009 中)。

我如何传播我的编译指令抛出所有使用的文件?取决于我要编译哪个项目...

$DEFINE 指令对于定义它们的单元是局部的。如果将它们放在项目源文件(.dpr 文件)中,则它们仅适用于该 .dpr 文件。

您需要使用 Project Options dialog.

将条件定义添加到您的每个项目