19

只需在 Delphi XE4 中编译我的项目后,我需要输出可执行文件名称,如 MyApp32.exe 和 MyApp64.exe。

我在论坛中找到了一个指令 {$LIBSUFFIX '32'} 但它似乎只适用于 dll。

对可执行文件有什么建议吗?

谢谢。

4

3 回答 3

19

最终的可执行文件名始终与项目文件名匹配。因此,要么创建共享公共源代码的单独项目,要么使用Post-Build 事件调用脚本,该脚本在编译后将输出文件复制并重命名为单独的部署文件夹,例如:

copy /B "$(OutputPath)" "C:\Deployment\$(OutputName)$(MySuffix)$(OutputExt)"

MySuffix项目选项中定义的位置对于每个平台具有不同的值:

MySuffix=32

.

MySuffix=64

通过使用单独的文件夹,调试器仍然可以访问原始未重命名的可执行文件以进行调试和测试。

于 2013-05-10T08:20:09.673 回答
16

简单的技巧允许它:

转到项目设置-> 应用程序并在“目标文件扩展名”字段中为每个配置添加唯一的后缀。

例如

Debug 32 bit: debug32.exe  
Debug 64 bit: debug64.exe  
Release 32 bit: 32.exe  
Release 64 bit: 64.exe 

名称为“ProjectName”的项目的输出:

ProjectName.debug32.exe  
ProjectName.debug64.exe  
ProjectName.32.exe  
ProjectName.64.exe
于 2016-07-19T11:27:03.820 回答
11

我处理这个问题的方法是我有一个包含多个目标的项目:32/64 位、调试/发布等。每个目标都输出到一个单独的目录。例如,Win64\Release

当我准备部署和安装所需的文件时,我会重命名可执行文件。并且需要重命名,因为我将 32 位和 64 位版本部署到同一个目录。当然,这一切都是自动化的。

Remy 将输出文件重命名为构建后操作的方法的缺点是调试器将无法找到可执行文件。

其理念是在处理将由 IDE 使用的文件时适应开发环境。但是在部署方面,您可以自由地重命名文件,将它们重新组织成不同的文件夹结构等,以更好地满足您的部署需求。

于 2013-05-10T08:56:39.190 回答