我已经从网上下载了一个Vista图标,用于我正在开发的新应用程序。当我尝试在Visual Studio 2005 C ++中编译它时,我收到一条错误消息:
错误RC2176:res \ XXXXX.ico中的旧DIB;通过SDKPAINT传递它
错误消息似乎有点误导,我认为“旧DIB”实际上是一种它没有预料到的新格式。我从来没有听说过SDKPAINT,而且搜索没有在我的系统上找到它安装的任何地方。 Microsoft声称SDKPAINT附带Windows 3.0 SDK,但由于与防火墙不兼容,我无法下载任何SDK。
我真的不需要在这个图标中特定于Vista的任何东西,所以任何可以转储不兼容位的东西都没问题。
答案 0 :(得分:1)
我做了一点挖掘,我发现了上一个问题:
Which Icon Editing Software would you recommend for creating icons for apps
该问题的接受答案提示IcoFX。我下载并用它来删除图标的256x256和128x128版本,现在一切都很好。
答案 1 :(得分:0)
在Visual Studio 2005中还有两种方法可以实现这一点:
rc.exe
和rcdll.exe
替换为较新的SDK(例如Windows Vista,7 ...)或DDK / WDK(同上)资源编译器是创建.res
文件的部分,然后是通常的Visual Studio 2005链接器(带有第一个选项)或SDK工具链的衬里链接到二进制文件中。这意味着即使在保守的情况下,对整个工具链进行升级也不赞成,这应该是无害的。