Visual studio VS2005中使用Vista图标的最简单方法?

Visual studio VS2005中使用Vista图标的最简单方法?,visual-studio,visual-studio-2005,icons,Visual Studio,Visual Studio 2005,Icons,我从网上下载了一个Vista图标,用于我正在开发的一个新应用程序。当我尝试在VisualStudio 2005 C++中编译它时,我得到一个错误消息: 错误RC2176:res\XXXXX.ico中的旧DIB;将其通过SDKPAINT 错误消息似乎有点误导,我认为“旧DIB”实际上是一种新的格式,它没有预料到。我从来没有听说过SDKPAINT,搜索也没有发现它安装在我的系统的任何地方。微软声称SDKPAINT附带Windows3.0SDK,但由于与防火墙不兼容,我无法下载任何SDK 我真的不需要

我从网上下载了一个Vista图标,用于我正在开发的一个新应用程序。当我尝试在VisualStudio 2005 C++中编译它时,我得到一个错误消息:

错误RC2176:res\XXXXX.ico中的旧DIB;将其通过SDKPAINT

错误消息似乎有点误导,我认为“旧DIB”实际上是一种新的格式,它没有预料到。我从来没有听说过SDKPAINT,搜索也没有发现它安装在我的系统的任何地方。微软声称SDKPAINT附带Windows3.0SDK,但由于与防火墙不兼容,我无法下载任何SDK


我真的不需要这个图标中任何特定于Vista的内容,所以任何可以转储不兼容位的内容都可以。

我做了更多的挖掘,发现了前面的问题:


对这个问题的公认答案是这样的。我下载了它并用它删除了图标的256x256和128x128版本,现在一切都好了。

在Visual Studio 2005中还有两种方法可以实现这一点:

  • 将Visual Studio 2005安装的
    rc.exe
    rcdll.exe
    替换为来自较新SDK(例如Windows Vista,7…)或DDK/WDK(同上)的
  • 或者使用SDK附带的相应工具将较新的SDK集成到Visual Studio 2005中
资源编译器是创建
.res
文件的部分,然后是通常的VisualStudio2005链接器(带有第一个选项)或SDK工具链的线性链接器,将其链接到二进制文件中。这意味着,即使在保守的情况下,不赞成升级整个工具链,这也应该是无害的