gpt4 book ai didi

delphi - 如何用空字符串覆盖 Delphi 2007 dproj 文件中的设置?

转载 作者:行者123 更新时间:2023-12-03 15:30:35 25 4
gpt4 key购买 nike

An answer to this question描述如何通过在 msbuild 命令行上指定来覆盖 Delphi 2007 的命令行编译器设置,如下所示:

msbuild yourproject.dproj /p:DCC_DcpOutput="d:\bla\blub"

我已经测试过它并且有效。

Delphi IDE 允许我在项目选项中指定此路径,如果我将其留空,它将使用适合我的默认路径。不幸的是,我有一些第三方软件包将此路径设置为源的子目录。我不想编辑项目设置,而是想在 msbuild 命令行上覆盖它。

我试过了

msbuild yourproject.dproj /p:DCC_DcpOutput=""

还有这个

msbuild yourproject.dproj /p:DCC_DcpOutput=

但是他们都没有按照我想要的方式工作。两者都会导致 .dcp 文件在 .dproj 文件所在的目录中生成,而不是在默认输出目录中。

如果我像这样明确指定该目录

msbuild yourproject.dproj /p:DCC_DcpOutput=C:\Users\Public\Documents\RAD Studio\5.0\Dcp

它可以工作,但这意味着它将特定于特定的 Delphi 安装,因为该路径根据 Windows 版本而不同(上面是 Windows 8,在 Windows XP 中路径不同)。

因为我想在一个脚本中使用它,该脚本会自动编译并安装给定 Delphi 2007 安装中项目所需的所有包,该安装可以在 Windows XP、Windows 7 32 位、Windows 7 64 位和 Windows 8 64 上位,我想避免这种情况。

我可以尝试使用一些环境变量,但似乎都不符合要求。

那么,有什么方法可以让行为就像 .dproj 文件中没有 DCC_DcpOutput 条目一样?

最佳答案

当您在项目选项中为 DCP 输出目录指定空值时,IDE 将从环境选项中获取该值。默认值为 $(BDSCOMMONDIR)\Dcp,可以在 IDE 中检查。

因此指定 %BDSCOMMONDIR%\Dcp 应该可以解决问题。

关于delphi - 如何用空字符串覆盖 Delphi 2007 dproj 文件中的设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25105746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com