调试和发布版本是否可以有不同的可执行文件名称?例如,可执行文件应复制到相同的输出目录
C:\项目\你好世界\bin
在这种特殊情况下,我想输出两个文件:
C:\Projects\Hello world\bin\ Hello world.exe
和
C:\Projects\Hello world\bin\ Hello worldD.exe
调试和发布版本是否可以有不同的可执行文件名称?例如,可执行文件应复制到相同的输出目录
C:\项目\你好世界\bin
在这种特殊情况下,我想输出两个文件:
C:\Projects\Hello world\bin\ Hello world.exe
和
C:\Projects\Hello world\bin\ Hello worldD.exe
您可以在编译后使用Post-Build事件重命名可执行文件。不同的构建配置可以定义不同的事件。
在我的 C++ Builder XE8 安装中,似乎有一种更简洁的方法可以做到这一点,尽管它不能通过 IDE 进行设置。而且,正如其他地方所指出的,调试似乎仍然被破坏了。
从CodeGear.Cpp.Targets
我安装的副本上的文件中,我们有:
<!-- Output Directories and Filenames -->
<OutputName Condition="'$(OutputName)'==''">$(MSBuildProjectName)</OutputName>
<FinalOutput Condition="'$(FinalOutput)'==''">$(FinalOutputDir)$(DllPrefix)$(OutputName)$(DllSuffix)$(OutputExt)$(DllVersion)</FinalOutput>
因此,看起来您可以自己设置 OutputName 属性以根据每个配置更改输出文件名。
例如,在一个简单的 VCL Forms 应用程序中,我可以将其设置为 Debug Win32 配置,如下所示:
<PropertyGroup Condition="'$(Cfg_1_Win32)'!=''">
<OutputName>testmyapp</OutputName>
<snip>
显然,您希望在适当的PropertyGroup
元素中复制这一行。如果这没有意义,我建议阅读 MSBuild 属性组和条件如何工作,因为这是 Embarcadero 构建系统的基础。
如果整个情况困扰您,我建议投票支持我在这里创建的功能请求:https ://quality.embarcadero.com/browse/RSP-13108