【问题标题】:How can I have a Delphi XE2 project without unit aliasses?我怎样才能有一个没有单元别名的 Delphi XE2 项目?
【发布时间】:2014-09-04 11:19:14
【问题描述】:

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

我尝试了以下方法:

  1. <DCC_UnitAlias /> 在 *.dproj 中
  2. <DCC_UnitAlias>$(DCC_UnitAlias)</DCC_UnitAlias>
  3. <DCC_UnitAlias>;$(DCC_UnitAlias)</DCC_UnitAlias>
  4. *.dproj 中没有 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 工作。

【问题讨论】:

  • 从 IDE 的项目设置对话框中删除别名?
  • 这导致#4。 :-/
  • 无论如何,我不太明白这个问题,因为我不会说德语。对不起。
  • 啊,对不起。固定。
  • 这可以在原版项目中重现,对吧?

标签: delphi delphi-xe2


【解决方案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 标记应该可以让您在每个项目的基础上更准确地指定默认值。不过请注意此文件顶部的“请勿修改”警告。

【讨论】:

    猜你喜欢
    • 2021-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-20
    • 2023-03-19
    相关资源
    最近更新 更多