1

调试和发布版本是否可以有不同的可执行文件名称?例如,可执行文件应复制到相同的输出目录

C:\项目\你好世界\bin

在这种特殊情况下,我想输出两个文件:

C:\Projects\Hello world\bin\ Hello world.exe

C:\Projects\Hello world\bin\ Hello worldD.exe

4

2 回答 2

1

您可以在编译后使用Post-Build事件重命名可执行文件。不同的构建配置可以定义不同的事件。

于 2012-08-04T00:04:58.603 回答
1

在我的 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

于 2015-12-07T17:19:48.707 回答