如何将单独的ICON设置为单独的exe

时间:2014-08-26 08:02:59

标签: visual-c++ msbuild executable

我希望单独的可执行版本设置为单独的可执行版本 多个配置版本

我的应用程序包含多个构建配置,我使用 MSBuild 来构建多个exes。

但问题是我无法根据构建配置为exes设置不同的图标。

我已经尝试使用构建事件设置图标,但这不起作用。

2 个答案:

答案 0 :(得分:1)

首先预处理.rc文件。因此,您可以简单地使用#if来有条件地定义图标,就像在C ++源文件中一样。右键单击.rc文件,打开方式,选择文本编辑器。找到声明图标的行:

 IDI_WIN32PROJECT1      ICON         "Win32Project1.ico"
 IDI_SMALL              ICON         "Small.ico"

并将其替换为

 #include "mainicon.rc2"

并创建mainicon.rc2,它应该类似于:

 #ifdef DEBUG
 IDI_WIN32PROJECT1      ICON         "Debug.ico"
 IDI_SMALL              ICON         "Debug_small.ico"
 #else
 IDI_WIN32PROJECT1      ICON         "Release.ico"
 IDI_SMALL              ICON         "Release_small.ico"
 #endif

然后项目+属性,资源,常规,添加" DEBUG"到Debug配置的预处理器定义设置。添加.rc2文件看似奇怪的额外步骤是为了避免资源编辑器混淆。

答案 1 :(得分:0)

我找到了解决方法。单击项目属性。 构建事件 - >预构建事件

添加以下行

复制/ Y“res \ App icon \ WiFi-32x32.ico”“res \ Final Green icon.ico”

在命令行中

并进行下一次配置 添加以下行。

复制/ Y“res \ App icon \ AW-32x32.ico”“res \ Final Green icon.ico”

在命令行中

为所有配置添加此代码只需更改图标文件。

谢谢。