在构建时更改版本号

Zdr*_*nev 6 ide delphi version

我需要将我的delphi项目的版本设置为与另一个项目(不是delphi)相同,作为构建脚本的一部分.有没有办法控制版本号而不通过IDE,例如编译器的命令行参数或类似的东西?谢谢

Mar*_*ema 12

包括像这样的一行

{$R 'version.res'}
Run Code Online (Sandbox Code Playgroud)

在你的项目中.并使用您的版本信息创建一个version.rc文件.您将不得不使用brcc32在较旧的Delphi版本中自行构建资源.在较新的Delphi版本中,您可以使用

{$R 'version.res' 'version.rc'}
Run Code Online (Sandbox Code Playgroud)

让IDE自动为您构建它.

最简单的version.rc看起来像:

1 VERSIONINFO
FILEVERSION 9999, 9999, 99, 18048
PRODUCTVERSION 9999, 9999, 99, 18048
FILEOS 0x00000004L // comment: VOS_WINDOWS32
FILETYPE VFT_APP
{
 BLOCK "VarFileInfo"
 {
  VALUE "Translation", 0x409, 0x4E4 // comment: 0x4E4 = 1252
 }

 BLOCK "StringFileInfo"
 {
  BLOCK "040904E4"
  {
   VALUE "CompanyName", "Company Name\0"
   VALUE "FileVersion", "9999.9999.99.18048\0"
   VALUE "LegalCopyright", "Copyright \0"
   VALUE "ProductName", "Product Name\0"
   VALUE "ProductVersion", "9999.9999.99.18048\0"
   VALUE "Homepage", "http://www.mydomain.com\0"
  }
 }
}
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅VERSIONINFO结构上的MSDN .