如何在没有单元别名的情况下使用Delphi XE2项目?

时间:2014-09-04 11:19:14

标签: delphi delphi-xe2

我想在没有单位别名的情况下编译我的XE2项目,但无法让它工作。

我尝试了以下内容:

    * .dproj 中的
  1. <DCC_UnitAlias />
  2. <DCC_UnitAlias>$(DCC_UnitAlias)</DCC_UnitAlias>
  3. <DCC_UnitAlias>;$(DCC_UnitAlias)</DCC_UnitAlias>
  4. * .dproj
  5. 中没有DCC_UnitAlias条目

    这些都会导致编译器错误 [DCC Fataler Fehler] F1030 Ungültige Compileranweisung: '-A;Generics.Collections=System.Generics.Collections;...
    (转换为类似[DCC Fatal error] F1030 Invalid compiler directive: '-A;Generics.Collections=System.Generics.Collections;...

    的内容

    或包含一些默认别名:
    -AGenerics.Collections=System.Generics.Collections;Generics.Defaults=System.Generics.Defaults;WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE

    我知道这不是一个大问题,但它以某种方式让我烦恼。 : - )

    FWIW:<DCC_UnitAlias />适用于D2007。

1 个答案:

答案 0 :(得分:1)

在Delphi 10.1下,看起来默认的单位别名是无条件地添加到文件 $(BDS)\ Bin \ CodeGear.Common.Targets 中。我认为它在XE2中是类似的,但是没有安装它来检查。

<UnitAliases>Generics.Collections=System.Generics.Collections;Generics.Defaults=System.Generics.Defaults;WinTypes=Winapi.Windows;WinProcs=Winapi.Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE</UnitAliases>
<UnitAliases Condition="'$(DCC_UnitAlias)'!=''">$(DCC_UnitAlias)$(UnitAliases)</UnitAliases>

删除第一个UnitAliases标记可让您在每个项目的基础上更准确地指定默认值。谨防&#34;不要修改&#34;但是,此文件顶部会显示警告。