【问题标题】:$(BDSCOMMONDIR) different when compiling from FinalBuilder vs IDE从 FinalBuilder 与 IDE 编译时 $(BDSCOMMONDIR) 不同
【发布时间】:2014-09-16 10:27:33
【问题描述】:

我正在从 Delphi XE3 升级到 XE7,我注意到我的 FinalBuilder 脚本不再按预期工作。

我有各种 Delphi 项目配置为将 BPL / DCP 文件输出到$(BDSCOMMONDIR)\*,它被设置为C:\Users\Public\Documents\Embarcadero\Studio\15.0 的系统环境变量。在 IDE 中打开项目并按预期进行编译,但是,每当我使用 FinalBuilder 编译时,文件都会构建到 C:\Users\Public\Documents\RAD Studio\15.0 并且我不知道为什么,我已经搜索了 所有地方 并且无法查看此路径的设置位置,即

  • (IDE) 工具 -> 选项 -> 环境变量
  • %APPDATA%\Embarcadero\BDS\15.0\environment.proj
  • FinalBuilder 环境变量
  • 系统环境变量

在所有这些位置,路径都符合预期。我的怀疑是在同一台机器上同时安装 XE3 XE7 的问题,纯粹是因为 XE3 设置 $(BDSCOMMONDIR) 指向 C:\Users\Public\Documents\RAD Studio\10.0(唯一的区别是产品版本)。 因为我目前只评估 XE7,所以我想尽量避免卸载 XE3,除非它是绝对必要的。

注意 - 这里的另一个区别是,当我安装 XE7 时,我选择了 Delphi 安装,而不是我之前在安装 XE3 时使用的 RAD Studio(我不需要 C++ Builder 的东西)。

有人知道为什么会这样吗?

【问题讨论】:

  • 您如何在 FinalBuilder 中指定您希望它使用特定的 Delphi 版本构建?当然,一旦有了这些信息,它就会小心设置适当的环境。我也想知道你为什么在系统环境变量中定义了一个BDSCOMMONDIR环境变量。
  • @DavidHeffernan 在 FinalBuilder 中有一个针对每个单独编译操作的选项,它允许您设置要使用的 Delphi 版本,它适用于 XE3(我想知道这是否可能是一个错误最终建造者?)。我在自己的用户环境变量中有 BDSCOMMONDIR,但更改它似乎没有任何区别,所以我在系统中尝试了它(虽然同样的问题)。此外,有趣的是,更改 environment.proj 文件中 BDSCOMMONDIR 的值对 Tools -> Environment Options 没有任何影响(不确定这些值是从哪里提取的)。
  • 我不明白你为什么要在任何地方设置BDSCOMMONDIR env vars。这样做不是你的工作。你应该放松所有这些。修改environment.proj 是另一个糟糕的举动。你为什么要做这一切?
  • @DavidHeffernan 抱歉,我把自己弄糊涂了……我在用户/系统环境变量中设置了BDSCOMMONDIR,这样它就可以被 FinalBuilder 拾取,原因是因为有一些我们只需要手动复制的预编译 BPL/DCP 文件。但是,事后看来,FinalBuilder 中可能有更好的方法来执行此操作(也许我可以从 Delphi IDE 加载环境变量)。
  • 最终它调用了 dcc32,因为那是编译器。或 dcc64 用于 Win64。或者确实是其他编译器之一。但是 msbuild 驱动它。通过 msbuild,您可以确定传递给 dcc32 的选项与从交互式构建中完成的选项相同。

标签: delphi delphi-xe3 finalbuilder delphi-xe7


【解决方案1】:

BDSCOMMONDIR 与所有其他 delphi 变量(如 BDS)一起被虚拟化,否则无法使用多个版本的 delphi 进行编译。这是库/组件供应商一直在做的事情。

这里的问题是 Finalbuilder 的 XE7 支持中的一个错误,修复将很快发布。

【讨论】:

  • 感谢文森特,我确实怀疑这可能与安装的差异有关,目前这对我来说有点令人震惊,所以任何预发布版本肯定会有所帮助。此外,在虚拟化方面——它们是否仅在编译器选项中勾选“从 X 启动时加载环境变量”时才被虚拟化,或者如果您使用Build Delphi 操作,这是否总是应该发生的?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-05
相关资源
最近更新 更多