是否可以将Build Configuration配置为自动为目标平台添加后缀?

时间:2011-12-14 16:05:12

标签: delphi build-automation delphi-xe2 platform file-io

可以根据目标平台设置(理想情况下是从GUI)Build Configuration自动为输出文件添加后缀吗?

我的意思是,我将有一个名为Project的库项​​目,我想得到

Project.dll - when I build the project for 32-bit platform
Project64.dll - when I build the project for 64-bit platform

谢谢

2 个答案:

答案 0 :(得分:13)

有趣的是,我昨天试图为我的应用程序的可执行文件做同样的事情。我得出结论,无法更改输出文件的名称。您可以影响输出文件名称的唯一方法是使用{$E}指令,但这只是控制输出的扩展而不是您想要的。

<强>更新

感谢@TOndrej指出$LIBSUFFIX指令。虽然对包有这样的支持,但这似乎不能通过库的IDE项目选项进行修改。但是,它确实包含在包的源代码中。将其包含在库.dpr文件中。

{$IFDEF WIN64}
  {$LIBSUFFIX '64'}
{$ENDIF}

这对生成可执行文件的项目(即VCL应用程序,服务等)没有任何影响,因此我认为在这些情况下唯一的解决方案是构建后的操作。

答案 1 :(得分:3)

您还可以使用构建事件来重命名可执行文件。在项目选项中的post build事件中,您可以执行以下操作:

ren $(OUTPUTPATH) $(OUTPUTNAME)$(Platform).exe

这会给你类似的东西:

ExampleProgramWin64.exe

ExampleProgramWin32.exe

这确实意味着你无法调试它,因为IDE不知道它已被重命名,所以也许做副本更合适。

copy $(OUTPUTPATH) $(OUTPUTDIR)\$(OUTPUTNAME)$(Platform).exe