VS 2003 Academic のプロジェクトを VS 2008 Express Edition でビルド

Visual Studio 2003 Academic のプロジェクトを Visual Studio 2008 Express Edition で
ビルドするときにハマったことをメモしておく。

リソースファイル (*.rc) のコンパイルに失敗する

リソースファイル (*.rc) 内でインクルードされていた afxres.h というファイルが見つからないため
起こるエラー。 該当ファイルを include している行をコメントアウトし、
以下の二行を追加するとコンパイルが通るようになる。

//#include "afxres.h"
#include <windows.h>
#define IDC_STATIC -1

参考:http://xyzzy.s53.xrea.com/wiki/index.php?plugin=related&page=Memo%2F%A5%BD%A1%BC%A5%B9%A4%AB%A4%E9%A5%D3%A5%EB%A5%C9%A4%B7%A4%C6%A4%DF%A4%EB3

libc.lib が見つからない

コンパイルオプションに /NODEFAULTLIB を指定して、
libc.lib だけリンクするとファイルサイズが減るので
好んで使っていたが、VS2008 でエラーが出るようになった。
解決方法は libc.lib の代わりに libcmt.lib を指定するらしい。

参考:http://growup.chips.jp/ars/2008/02/08_1512.php
ぱんちら++

Rebar Control が表示されない

ビルドは通ったものの、Rebar コントロールが表示されなくなった。
原因は、REBARBANDINFO のサイズ (cbSize) の指定がうまく行かないため。

REBARBANDINFO rbi = {0};
rbi.cbSize = sizeof(REBARBANDINFO); // これが失敗する

_WIN32_WINNT を指定するとうまく動作するようになる。

#define _WIN32_WINNT    0x0400

参考:HSPメモ帳(3ページ目)