ホームページ  >  記事  >  バックエンド開発  >  MinGW で wWinMain を使用すると、「WinMain への未定義の参照」エラーが発生するのはなぜですか?

MinGW で wWinMain を使用すると、「WinMain への未定義の参照」エラーが発生するのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-06 03:32:02914ブラウズ

Why do I get an

C MinGW で wWinMain を使用する場合の WinMain への未定義参照の軽減

MinGW (GCC) を使用して C で Windows アプリケーションを作成しようとすると、ユーザーが int main() の代わりに wWinMain を使用することを選択した場合、WinMain への未定義の参照が発生する可能性があります。このエラーは、MinGW の CRT 起動ライブラリが wWinMain をサポートしていないために発生します。

解決策:

MinGW の新しいバージョンでは、-municode リンカー オプションが提供され、スイッチで代替起動が可能になります。 WinMain の代わりに wWinMain の使用を許可するコード。このオプションをコマンド ライン、IDE のリンカー オプション、または Makefile に組み込むと、問題が解決されるはずです。

g++ other_options_and_arguments -municode

ただし、古い MinGW バージョンではこのオプションがサポートされていないことに注意してください。このような場合は、代わりに WinMain の使用を検討してください。提供されている例では、プログラムは pCmdLine 値を利用していないため、コンパイルには wWinMain を WinMain に、PWSTR pCmdLine を PSTR pCmdLine に変更するだけで十分です。

Unicode コマンド ライン処理:

後で Unicode コマンド ライン処理が必要な場合は、LPWSTR cmd_line = GetCommandLineW(); を使用します。 WinMain 引数の代わりに。

以上がMinGW で wWinMain を使用すると、「WinMain への未定義の参照」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。