wWinMain、Unicode、および Mingw
この説明では、開発者がコンパイラとして Mingw を使用して wWinMain 関数を使用するとエラーが発生します。このガイドでは、問題を調査し、エラーを解決し、Unicode の使用に関する問題に対処するための解決策を提供します。
問題
開発者は、WinMain@16 への未定義の参照を経験します。 Mingw を使用してプログラムをコンパイルするとき。 wWinMain を Winmain に、PWSTR を LPSTR に置き換えると問題は解決しますが、開発者は、より良い解決策があるかどうか、また Unicode を使用しないことの重要性を知りたいと考えています。
解決策
Mingw の古いバージョンの場合は、mingw-unicode-main というラッパーを使用できます。 Unicode プログラムをコンパイルするときに、wmain および wWinMain のサポートを提供します。このラッパーの使用手順は、プロジェクトの GitHub リポジトリにあります: https://github.com/coderforlife/mingw-unicode-main.
Mingw の新しいバージョンでは、-municode オプションを使用する必要があります。 、mingw-unicode-main readme に示されているように。このオプションにより、Mingw-w64 での Unicode のサポートが有効になります。
Unicode に関する考慮事項
Unicode の使用は、必ずしも重要な問題ではありません。 ASCII 文字のサポートのみを必要とする単純なプログラムの場合は、通常の (CHAR) または TCHAR を使用するだけで十分です。ただし、プログラムが非 ASCII 文字や国際化を処理する場合は、Unicode の使用をお勧めします。
リソース
以上がMingw で wWinMain を使用すると、WinMain@16 への未定義の参照が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。