Entry

プログラミングメモ - MFC の UNICODE サポートを有効にしたときに出るエラー

2008年11月09日

UNICODE サポートを使っていなかったので,今まであまり気にしてなかったんですけど,MFC で UNICODE サポートを有効にすると,次のようなメッセージが出てリンクできませんでした。

msvcrt.lib(crtexew.obj) : エラー LNK2001: 外部シンボル "_WinMain@16" は未解決です。 

割と有名なトラブルらしいので,わざわざ書くほどでもないんですけど,自分のために書いておく。Microsoft のサポートページによると,UNICODE サポートをつける場合,エントリポイントが WinMain() から変わるみたい。そりゃリンクできないわ。

VC6 の解決方法は次の通り。

  • メニューの[プロジェクト]→[設定]で,「プロジェクトの設定」ダイアログを開く。
  • 「リンク」タブから,カテゴリ「アウトプット」を選択する。
  • 「エントリポイント シンボル」のテキストボックスに "wWinMainCRTStartup" を設定する。

これで問題なくリンクできました。一応,どこを修正するのか,ダイアログの様子を載せておきます。

VC6 の UNICODE サポートで出るエラーの対策の図

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

Trackback
Trackback URL:
Ads
About
Search This Site
Ads
Categories
Recent Entries
Log Archive
Syndicate This Site
Info.
クリエイティブ・コモンズ・ライセンス
Movable Type 3.36
Valid XHTML 1.1!
Valid CSS!
ブログタイムズ

© 2003-2012 AIAN