2

Yeah, a question regarding this error exists. But I think it's quite different situation from the one the OP was in.

I just created a MFC application in VC++ 2008 (pro version) and compiled it. The compilation failed because of the error

RC2176 : old DIB in res\MyApp.ico; pass it through SDKPAINT 

I must've missed something because VC++ created the icon that is not compiling. Any clue would be appreciated.

UPDATE: I forgot about this issue for a while. I fixed the problem by following solution to this question - Can't open resource editor in VC++ 2008

Community
  • 1
  • 1
Tae-Sung Shin
  • 20,215
  • 33
  • 138
  • 240
  • Possible duplicate of [error RC2176 : old DIB in res\icon3.ico; pass it through SDKPAINT?](http://stackoverflow.com/questions/3384112/error-rc2176-old-dib-in-res-icon3-ico-pass-it-through-sdkpaint) – Cody Gray - on strike Aug 22 '16 at 08:55

2 Answers2

1

Did you install Service Pack 1? Also, if you install a newer Windows SDK and use it in your environment, this could very well cause a conflict of some kind.

l33t
  • 18,692
  • 16
  • 103
  • 180
1

Answered already in the linked question: error RC2176 : old DIB in res\icon3.ico; pass it through SDKPAINT?


If you would install and integrate a more recent (same or later release date than VS 2008) SDK with VS 2005, that also resolves it. You can also go to C:\Program Files\Microsoft Visual Studio 8\VC\bin (or your equivalent of the path) and replace the files rcdll.dll and rc.exe with the ones from a more recent VS, WDK or SDK.

Side-note: the version of rcdll.dll and rc.exe must match, that is you need to copy both at once from your source (be it VS, WDK or SDK). For me any version starting with 6.0 or 6.1 worked. That's any version starting from the compilers that accompanied the Vista SDKs and VS versions or later.

Community
  • 1
  • 1
0xC0000022L
  • 20,597
  • 9
  • 86
  • 152