繁体   English   中英

Delphi命令行编译器-使用与IDE相同的库路径

[英]Delphi command line compiler - using same library path as the IDE

有没有一种方法可以指示DCC32使用IDE使用的相同库路径(即,在“工具/选项/环境选项/ Delphi选项/库-Win32”中)?

由于显而易见的原因,我不想保持目录的两个列表(一个在CFG文件,一个在Delphi IDE)。

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

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

从命令行使用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。

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

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

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

这对我有用:

call "C:\Program Files (x86)\Embarcadero\Studio\19.0\bin\rsvars.bat"
msbuild project.dproj

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM