3

有没有办法指示 DCC32 使用与 IDE 相同的库路径(即在 Tools/Options/Environment Options/Delphi Options/Library - Win32 中)?

出于显而易见的原因,我不想维护两个目录列表(一个在 cfg 文件中,一个在 Delphi IDE 中)。

4

5 回答 5

5

如果您使用的是 Delphi 2006 或更高版本,则可以使用 MSBuild 代替 dcc32,MSBuild 将使用与 IDE 相同的搜索路径

于 2009-11-30T16:41:38.240 回答
1

您的项目目录中应该有一个名为 yourprojectnamedpr.cfg 的 cfg 文件,该文件实际上应该包含 IDE 中为该项目定义的所有目录。

于 2009-11-30T16:26:04.277 回答
1

使用 DCC32 从命令行构建需要做很多工作。MSBuild 要容易得多。库路径存储在注册表中,但位置取决于 Delphi 版本,例如(python 代码):

if BDSVER == '5.0':
    CompanyText = 'Borland'
else:
    CompanyText = 'CodeGear'

key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER,'Software\\' + CompanyText + '\\BDS\\' + BDSVER + '\\Library')    
IncludePath = _winreg.QueryValueEx(key,'Search Path')[0]

# Then you must replace the environment vars $(BDS), $(BDSCOMMONDOR) etc
IncludePath = ReplaceEnvironVars(IncludePath)

还有很多事情要做。您还必须获取搜索路径,并且必须从 .dproj 文件等中获取条件定义。

当安装在 XP x64 上的 Delphi 2007 出现损坏的 MSBuild 时,我在 python 中编写了一个完整的自动构建工具(对于 BDSVER >= 5)。后来发现,Delphi 安装程序没有将一些必需的配置文件 复制到正确的 .NET 文件夹中。将这些文件复制到正确的位置解决了问题,现在我使用 MSBuild。

于 2009-12-01T08:11:39.797 回答
1

这对我有用:

call "C:\Program Files (x86)\Embarcadero\Studio\19.0\bin\rsvars.bat"
msbuild project.dproj
于 2019-08-06T13:27:40.373 回答
0

如果您使用较旧的 Delphi(例如 Delphi 7),则必须将所有信息放在 IDE 的“搜索路径”目录选项中。它将保存在您的 .dof 文件中。.dof 文件是项目的主要参考。

每次更改项目配置时,IDE 也会自动更新 .cfg。.cfg 是指定命令行编译器的编译选项。.cfg 和 .dof 都必须受版本控制。

如果不是从 IDE 编辑 .dof 文件,而是手动编辑它,则可以使用dof2cfg实用程序从 .dof 生成新的 .cfg。你必须把它放在你的构建链中。

于 2014-07-07T18:34:16.943 回答