VC++2005 で Vista アイコン対応アプリを作ってはまった話

Axialis IconWorkshopでVista対応のアイコンを作成して、プロジェクトに読ませたら、Vista対応アイコンアプリの出来上がり…だと思っていました・ω・

ところが…

rsrc.rc(5) : error RC2176 : old DIB in res\WinTest.ico; pass it through SDKPAINT

なんか古いDIB形式だってはじかれるよ!

じゃあ、どうすりゃいいんだ?
とググったら。

ckw の小さいアイコンをちゃんとタイトルバーやタスクバーに表示させる - anonymous苦労者

どうやら古い RC では 256x256 のアイコンが NG のようなので、アイコンファイルを変更せずにコンパイルした rsrc.res のアイコンを、Resource Hacker で置き換えてからビルドしました。

ってこの解決方法はやだな・ω・;


visual c++ - error RC2176 : old DIB in res\icon3.ico; pass it through SDKPAINT? - Stack Overflow

というわけでこちらの解決方法。

まず、 Windows Vista 以降 のSDKをインストール。

%ProgramFiles%\Microsoft SDKs\Windows の下に v6.0A /v7.0A フォルダがあって、さらにその中の binに rc.exe と rcdll.dll があるのでこれを Visual Studio 2005 の VC\bin フォルダのファイルと置き換えます

これでコンパイル通るように・ω・

256x2-F
だが、なぜか表示されない!

256x2-F2
何がいかんのだろう・ω・?

256x2-F3
さんざん試行錯誤した結果 16x16 のフルカラーイメージアイコンがないとだめらしい・ω・;

256x2-F4
今度はうまくいきました・ω・

追記
先日の rcdll.dll の置換をやるとIDEでリソースが開けなくなる?

おすすめ

2件のフィードバック

  1. Egtra より:

    rc.exeとrcdll.dllの上書きコピー以外にも方法はありますよ。メニューバー→ツール→オプション→(←ペイン)プロジェクトおよびソリューション→VC++ ディレクトリ→(右ペイン)ディレクトリを表示するプロジェクト: 「実行可能ファイル」にC:\Program Files\Microsoft SDKs\Windows\v7.1\BinなどWindows SDKのディレクトリを一番上に登録すれば良いです。
    この方法なら、「先日の rcdll.dll の置換をやるとIDEでリソースが開けなくなる?」のようなトラブルは起こりません。もっとも、ビルドできるようになるだけで、Visual Studio 2005のIDEで編集はできません。

  2. Egtra より:

    rc.exeとrcdll.dllの上書きコピー以外にも方法はありますよ。メニューバー→ツール→オプション→(←ペイン)プロジェクトおよびソリューション→VC++ ディレクトリ→(右ペイン)ディレクトリを表示するプロジェクト: 「実行可能ファイル」にC:\Program Files\Microsoft SDKs\Windows\v7.1\BinなどWindows SDKのディレクトリを一番上に登録すれば良いです。
    この方法なら、「先日の rcdll.dll の置換をやるとIDEでリソースが開けなくなる?」のようなトラブルは起こりません。もっとも、ビルドできるようになるだけで、Visual Studio 2005のIDEで編集はできません。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です