可以根据目标平台设置(理想情况下是从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
谢谢
答案 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