C ++ Builder XE2 - 调试版和发行版的不同可执行文件名

时间:2012-08-02 10:44:28

标签: compiler-construction linker executable c++builder-xe2

是否可以为调试版和发行版提供不同的可执行文件名?应将可执行文件复制到相同的输出目录,例如

C:\ Projects \ Hello world \ bin

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

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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 Application上,我能够为Debug Win32配置设置它,如下所示:

<PropertyGroup Condition="'$(Cfg_1_Win32)'!=''">
    <OutputName>testmyapp</OutputName>
    <snip>

显然,您希望在相应的PropertyGroup元素中复制此行。如果这没有意义,我建议阅读MSBuild属性组和条件如何工作,因为这是Embarcadero的构建系统所基于的。

如果整个情况困扰您,我建议投票支持我在此处创建的功能请求:https://quality.embarcadero.com/browse/RSP-13108