如何通过命令行(静默模式)使用第三方组件编译delphi应用程序?

问题描述 投票:0回答:2

我有一个delphi应用程序,它使用多个第三方组件,如DevExpress、TeeChart等。我想通过命令行编译它(以进行自动构建)。我怎样才能实现这个目标?

期望通过命令提示符编译/构建 Delphi 应用程序。

提前致谢。

delphi delphi-7 delphi-xe2 delphi-2010 delphi-xe
2个回答
1
投票

我不确定如何在 Delphi 7 中完成它,但在最新版本的 Delphi 中这很容易。

  1. 您必须准备项目组以及编译所需的所有内容
  2. 制作将通过msbuild编译该项目组的BAT文件
  3. 需要编译时调用此BAT。

制作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 不支持命令行编译。


0
投票

Delphi Wiki 对于 Delphi 1-7 的命令行编译有以下说明:

在这些 Delphi 版本中,每个项目都包含一个 .dpr 文件,其中包含所有的使用列表 项目的单元和主程序,一个 .dof 文件,其中 .ini 文件格式包含了项目的所有内容 设置,例如编译器开关和搜索 路径。此外,IDE 创建了一个 .cfg 文件,其中 包含不同格式的设置,适合 用于命令行编译器。

只要您愿意使用相同的设置 就像在 IDE 中一样,你可以直接调用

dcc32 .dpr

命令行编译器将编译您的项目, 使用 .cfg 文件中的设置。

如果您不想依赖IDE来创建.cfg 文件,有这个dof2cfg工具

如果您正在使用项目组 (.bpg),您还可以 使用 borland make 工具,因为 .bpg 文件具有 该工具的 make 文件的格式。

那篇文章是我很多年前写的,所以我确信它是正确的。但我已经好几年没有使用Delphi 7了。

© www.soinside.com 2019 - 2024. All rights reserved.