我有一个delphi应用程序,它使用多个第三方组件,如DevExpress、TeeChart等。我想通过命令行编译它(以进行自动构建)。我怎样才能实现这个目标?
期望通过命令提示符编译/构建 Delphi 应用程序。
提前致谢。
我不确定如何在 Delphi 7 中完成它,但在最新版本的 Delphi 中这很容易。
制作BAT文件的详细信息:
首先,您需要在 BAT 文件上下文中拥有所有必要的环境变量。
标准 Delphi 环境变量存储在 Delphi 目录中的“rsvars.bat”文件中
(对于 Delphi 11,它是“c:\Program Files (x86)\Embarcadero\Studio .0”
svars.bat")
因此,要在您的上下文中使用它,只需使用 BAT 命令:
call "c:\Program Files (x86)\Embarcadero\Studio\22.0\bin\rsvars.bat"
如果您需要指定一些其他环境变量来编译您的包或项目,您可以按照与 rsvars.bat 中相同的方式进行操作
在这一步之后 - msbuild 可以找到 Delphi 编译器来运行构建。所以,你可以拨打:
msbuild ".\MyProjectGroup.groupproj"
使用默认参数编译项目所需的一切。
当然,您可以自定义编译器参数,所以我的命令行如下所示:
msbuild ".\MyProjectGroup.groupproj" /t:%BuildMode% /l:FileLogger,Microsoft.Build.Engine;logfile=MyProjectGroup_%PlatformMode%_%ConfigMode%.log;verbosity=quiet /p:Config=%ConfigMode% /p:platform=%PlatformMode%
地点:
%BuildMode% - 可以是构建、清理、制作
%ConfigMode% - 调试或发布
%PlatformMode% - Win32 或 Win64
更多信息请查看官方Doc
附注最新版本的 Delphi Community Edition 不支持命令行编译。
Delphi Wiki 对于 Delphi 1-7 的命令行编译有以下说明:
在这些 Delphi 版本中,每个项目都包含一个 .dpr 文件,其中包含所有的使用列表 项目的单元和主程序,一个 .dof 文件,其中 .ini 文件格式包含了项目的所有内容 设置,例如编译器开关和搜索 路径。此外,IDE 创建了一个 .cfg 文件,其中 包含不同格式的设置,适合 用于命令行编译器。那篇文章是我很多年前写的,所以我确信它是正确的。但我已经好几年没有使用Delphi 7了。只要您愿意使用相同的设置 就像在 IDE 中一样,你可以直接调用
dcc32 .dpr
命令行编译器将编译您的项目, 使用 .cfg 文件中的设置。
如果您不想依赖IDE来创建.cfg 文件,有这个dof2cfg工具
如果您正在使用项目组 (.bpg),您还可以 使用 borland make 工具,因为 .bpg 文件具有 该工具的 make 文件的格式。