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

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

Linda Hamilton
リリース: 2024-11-05 11:23:02
オリジナル
307 人が閲覧しました

Why does MinGW throw an

C で wWinMain を使用する場合の WinMain への未定義の参照を解決する (MinGW)

wWinMain を使用しようとする場合 (HINSTANCE hInstance, HINSTANCE, PWSTR pCmdLine) , int nCmdShow) を C のプログラム エントリ ポイントとして使用します。 MinGW、「WinMain への未定義の参照」エラーが発生する可能性があります。

原因:

MinGW、特に古いバージョンは、wWinMain エントリ ポイントをネイティブにサポートしていません。ワイド文字 (WCHAR) コマンド ラインargument.

解決策:

考えられる解決策は 2 つあります:

1. -municode フラグを使用する:

MinGW の新しいバージョンでは、wWinMain の使用を許可する代替スタートアップ コードに切り替える -municode リンカー フラグがサポートされています。このフラグをコマンド ライン、IDE のリンカー オプション、または Makefile:

g++ other_options_and_arguments -municode
ログイン後にコピー

2 に追加します。 WinMain エントリ ポイントを使用します:

MinGW の古いバージョンの場合、または -municode フラグを使用したくない場合は、標準の WinMain エントリ ポイントの使用に戻すことができます。これには、次のようにコードを変更する必要があります:

  • wWinMain を WinMain に変更します
  • PWSTR pCmdLine を PSTR pCmdLine に変更します

追加メモ:

Unicode コマンドラインにアクセスする必要がある場合プログラムの後半で引数を指定するには、LPWSTR cmd_line = GetCommandLineW(); を使用します。 WinMain 引数を使用する代わりに。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート