在Delphi XE4中编译项目后,我只需要输出可执行文件名,如MyApp32.exe和MyApp64.exe。
我在论坛中发现了一个{$ LIBSUFFIX'32'}的指令,但它似乎只适用于dll。
对可执行文件的任何建议?
感谢。
答案 0 :(得分:15)
最终的可执行文件名始终与项目文件名匹配。因此,要么创建共享公共源代码的单独项目,要么使用Post-Build event来调用脚本,该脚本在编译后将输出文件复制并重命名为单独的部署文件夹,例如:
copy /B "$(OutputPath)" "C:\Deployment\$(OutputName)$(MySuffix)$(OutputExt)"
在项目选项中为MySuffix
定义了每个平台的不同值:
MySuffix=32
MySuffix=64
通过使用单独的文件夹,调试器仍然可以访问原始的未重命名的可执行文件以进行调试和测试。
答案 1 :(得分:11)
简单的技巧允许它:
转到项目设置 - >应用程序和“目标文件扩展名”字段为每个配置添加唯一后缀。
例如
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
答案 2 :(得分:10)
我处理这个问题的方法是我有一个包含多个目标的项目:32/64位,调试/发布等。每个目标都输出到一个单独的目录。例如,Win64\Release
。
当我准备部署和安装所需的文件时,我在那时重命名可执行文件。并且需要重命名,因为我将32位和64位版本部署到同一目录。当然,这都是自动化的。
Remy将输出文件重命名为构建后操作的方法有一个缺点,即调试器无法找到可执行文件。
在处理IDE将使用的文件时,理念是适应开发环境。但是当涉及到部署时,您可以自由地重命名文件,将它们重新组织成更适合您的部署需求的不同文件夹结构等。