【发布时间】:2011-04-12 09:41:56
【问题描述】:
我正在尝试编译来自 Virtual Treeview 的两个组件(VirtualTreesR.bpl 和 VirtualTreesD.bpl),我将它们组合在一个名为 VirtualTrees.groupproj 的 Delphi 项目组中。它们应该使用 MSBuild 编译,但此调用是从 (Embarcadero) Makefile 完成的。 Makefile 中的相关部分如下所示:
msbuild.exe /nologo /v:m /t:build /p:Config=Release "$(VTVDIR)\Packages\Delphi 2010\VirtualTrees.groupproj"
不幸的是这会导致MSB4040,因为环境变量BDS没有在cmd.exe中设置,而是在Makefile中。我在调用 msbuild 之前尝试了 SET BDS=$(BDS) ,但无济于事。我还尝试将 BDS 设置为 property(/p:BDS=($BDS);Config=Release),这导致了另一个错误(类似:在 %BDS%\bin\dcc32.exe 找不到编译器)。
来自 Makefile 的这个调用是在 CI 服务器上构建我们的产品的准备工作的一部分,我不能保证在那里设置了 BDS 变量。那么如何将 Makefile 中的 BDS 变量提供给 msbuild 以使其接受呢?
【问题讨论】: