このエラーとは何ですか、またそれを解決する方法は?スマートデバイスのMFC開発にVisualStudio2005を使用していますが、2008にアップグレードすると問題が解決します。
エラー85エラーRC2176:res\icon3.icoの古いDIB; SDKPAINTを通過します
ありがとう
このエラーとは何ですか、またそれを解決する方法は?スマートデバイスのMFC開発にVisualStudio2005を使用していますが、2008にアップグレードすると問題が解決します。
エラー85エラーRC2176:res\icon3.icoの古いDIB; SDKPAINTを通過します
ありがとう
これはあなたを助けるかもしれません: http ://www.axialis.com/tutorials/vistaicons.html
ビスタアイコンがPNGヘッダーを使用するようになりました。エラーはわずかに誤りですが、古いDIBではないため、認識できないヘッダーであるPNGです。
そのアイコンはどのように作成されましたか?ずっと前に、Visual C ++ 6.0には、アイコン.icoファイルを作成する独自の小さな方法がありました。おそらくPNGを使用していないので、これをエミュレートするプログラムを見つけて、古いDIBの方法を使用してアイコンを作成するのがよいでしょう。または2008にアップグレードします:)
実際、他の回答ではここで言及されていない別の方法があります。
より新しい(VS 2008と同じまたはそれ以降のリリース日)SDKをインストールしてVS 2005と統合する場合は、それも解決されます。(または同等のパス)に移動して、ファイルを最新のVS、WDK、またはSDKのファイルにC:\Program Files\Microsoft Visual Studio 8\VC\bin
置き換えることもできます。rcdll.dll
rc.exe
補足:バージョンrcdll.dll
とrc.exe
が一致している必要があります。つまり、ソース(VS、WDK、SDK)から両方を同時にコピーする必要があります。私にとっては、6.0または6.1以降のすべてのバージョンが機能しました。これは、VistaSDKおよびVSバージョン以降に付属するコンパイラから始まるバージョンです。
このエラーRC2176につながる2つの状況が実際に発生しました。
ご存知かもしれませんが、Windows .ICOファイルには、さまざまなサイズと色深度の複数の画像を含めることができます。VS2005は、少なくとも2つの状況でこのエラーをスローします(DIBとは関係ありません)
GIMPを使用して最大画像サイズを128x128に縮小し、.PNGを回避することで、この問題はVS2005で解決されます。または、新しいVSにアップグレードします;)
VS2012でこの問題が発生しましたが、グーグルで検索しましたが、sdk-paintで開くことについて説明しているMSDNサイトへのリンク以外は見つかりませんでした。そのため、私のプロジェクトでは、エラーの原因となったアイコンをダブルクリックし、 PNG形式を削除し、出来上がりプログラムを開始しました。
グリーツ
リチャード
圧縮/パックされた256x256が私にとっての問題でした。アイコンエディタアプリで(Vistaの場合)圧縮として保存するオプションのチェックを外すと、問題は解決しました。
エラーを引き起こした別の状況があります。それは破損したPNGファイルです。このコマンドを使用してsed
、プロジェクトフォルダー内の一部の文字列をグローバルに置き換えましたが、UNIXで終わる(見た目が良い)Windows行が置き換えられたため、画像ファイルが破損していました。
そのため、MFCライブラリのPNGパーサーにいくつかのバグがあり、不正な形式の入力ファイルを処理できない可能性があります。
私が遭遇した最高の解像度は、非圧縮のPNG形式でICOファイルを保存するためのガイダンスを提供するAxialisからのものです。 https://www.axialis.com/docs/iw/How_to_use_a_Windows_Vista_Compressed_Icon_in_a_Software_Project.htm