【问题标题】:Configure MSBuild to call XE2 dcc32.exe配置 MSBuild 以调用 XE2 dcc32.exe
【发布时间】:2012-12-19 16:18:57
【问题描述】:

我的机器(Windows 7、64 位)上同时安装了 Delphi 2010 和 XE2。我使用 FinalBuilder 5.5 构建我的 Delphi 项目,它调用 DCC32.exe 进行完整构建。

现在我将我的项目从 Delphi 2010 升级到 XE2,我面临这个问题:MSBuild 不断调用 Delphi 2010 dcc32.exe(即 C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\Bin \dcc32.exe) 而不是 XE2 的 dcc32.exe

我去并更新了环境中的路径以及 bds 路径,但没有帮助。

我该如何解决这个问题?

【问题讨论】:

    标签: delphi msbuild delphi-xe2 dcc32


    【解决方案1】:

    您需要在构建环境中设置所有适当的环境变量。方法是执行Delphi bin目录下的rsvars.bat脚本。

    我的另一个技巧是从系统路径中删除所有 Delphi 条目。这会迫使您明确为正确的版本设置适当的环境变量。

    【讨论】:

    • 关于 MSBuild 并不那么完美的事实,我只需两分钱。这么多的迂回让使用预期的编译器!这正是我在stackoverflow.com/questions/13916132/… 中的观点:)
    • @Arnaud 调用单个 .bat 文件并不难。
    • 不难。但是现在你有运行 CMD.EXE 的 FinalBuilder 运行一个批处理,它将执行另一个批处理来运行 MSBUILD 加载一些 XML 内容然后运行 ​​DCC32。这就是我所说的循环。它会起作用,它的速度不会引人注意(或?),但我不喜欢那样。这是完美的暗示。但是为什么他们在 Delphi 中添加了对 MSBuild 的依赖项?不重新发明轮子?或者向 .NET SDK 添加另一个依赖项 Delphi 没有使用?好的。所以使用Visual Studio,它更好地与MSBuild 集成。并且不比 Delphi XE3 慢。糟糕的管理决策恕我直言。
    • @Arnaud 实际上 RAD Studio 与 msbuild 的集成在 VS2010 之前更好。无论如何,你可以随心所欲地做。我刚刚回答了这个问题!我喜欢辩论,但也许这不是举行辩论的地方。
    • 谢谢大家,我发现this approach 基本上使用.bat 通过调用正确的rsvars.bat 并调用MSBuild 来显式设置路径。它对我有用,所以我基本上结合了你建议的两种方法(MSBuild + batch)......我很高兴!
    【解决方案2】:

    转到“Windows 环境变量”设置,找到变量“Path”。

    请检查并确保“....\Rad Studio\9.0\bin”(Delphi XE2 版本)的路径位于任何包含 dcc32.exe(旧版 delphi 版本)的文件夹之前。这通常发生在您将较新的 Delphi 版本安装到已经安装了较旧的 delphi 版本的机器上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-16
      • 2012-08-15
      • 1970-01-01
      • 1970-01-01
      • 2016-01-04
      • 2016-01-12
      • 1970-01-01
      • 2010-12-10
      相关资源
      最近更新 更多