Entry
プログラミングメモ - MFC の UNICODE サポートを有効にしたときに出るエラー
2008年11月09日
UNICODE サポートを使っていなかったので,今まであまり気にしてなかったんですけど,MFC で UNICODE サポートを有効にすると,次のようなメッセージが出てリンクできませんでした。
msvcrt.lib(crtexew.obj) : エラー LNK2001: 外部シンボル "_WinMain@16" は未解決です。
割と有名なトラブルらしいので,わざわざ書くほどでもないんですけど,自分のために書いておく。Microsoft のサポートページによると,UNICODE サポートをつける場合,エントリポイントが WinMain() から変わるみたい。そりゃリンクできないわ。
VC6 の解決方法は次の通り。
- メニューの[プロジェクト]→[設定]で,「プロジェクトの設定」ダイアログを開く。
- 「リンク」タブから,カテゴリ「アウトプット」を選択する。
- 「エントリポイント シンボル」のテキストボックスに "wWinMainCRTStartup" を設定する。
これで問題なくリンクできました。一応,どこを修正するのか,ダイアログの様子を載せておきます。

毎度のことなんですけれど,Windows のアプリケーション作りって,ほとんどが調べモノになってる気がします。ま,あたしが未熟なだけなんですが。それにしても,いくら調べても,調べきれないなあ……。
Trackback
Trackback URL:





