{$WARN DUPLICATE_CTOR_DTOR OFF} 从 Dpk 文件中删除

{$WARN DUPLICATE_CTOR_DTOR OFF} gets deleted from Dpk file

我需要关闭此编译器警告,因为我不打算让我的库与 C++ 兼容。

如果我将编译器指令放在生成警告的 PAS 文件中,它会被忽略。

强大的互联网上的人说 {$WARN DUPLICATE_CTOR_DTOR OFF} 应该放在 DPR 文件中。有用。但是如果你放入 DPK 文件,每次我更改项目选项时 IDE 都会删除它(我们都知道在更改选项时,DPK 文件会部分重建)。

问:如何让指令留在DPK文件中?

要复制它:

转到项目>选项>构建>Delphi编译器>提示和警告,select平台和配置,然后将该警告设置为False。并保存。 (根据您的 Delphi 版本,此设置的确切位置可能会有所不同。)

在下面的 DPR 文件中,所有这些行都保留在 Delphi 7 中的 as-is,即使 IDE 明智的事情是 saved/changed/added:

// My comment
{.$DEFINE MEMCHECK}
{$DEFINE BOMB}
// JCL_DEBUG_EXPERT_GENERATEJDBG ON
// JCL_DEBUG_EXPERT_INSERTJDBG ON
program pMain;

{$SetPEFlags $c20}
{.$define FullDebugMode}
{$I all.inc}

uses
  FastMM4,
  madExcept,

如您所见,我设置了一些编译器指令,而其他的则被注释掉了(前导点使其只是 Pascal 注释)。注释和空行也保留——那里没有重写任何内容,尤其是指令。这就是为什么我要求你提供一个代码示例:你可能会在你的代码中使用一个位置而不是这些。或行为不同的 Delphi 版本。

即使 IDE 会从头开始重建您的 DPR,您应该能够向您的项目中添加一个单元,这是最先出现的,并且您可以将您的编译器指令。编译器明智的是,这必须首先遇到。但我不知道你为什么不这样做,如果没有你的代码示例,我永远不会有任何线索。