首頁 >後端開發 >C++ >為什麼在 MinGW 中使用 wWinMain 時出現「未定義的 WinMain 引用」錯誤?

為什麼在 MinGW 中使用 wWinMain 時出現「未定義的 WinMain 引用」錯誤?

Patricia Arquette
Patricia Arquette原創
2024-11-06 03:32:02990瀏覽

Why do I get an

在C MinGW 中使用wWinMain 時減少對WinMain 的未定義引用

當嘗試使用MinGW (GCC) 在C 中建立應用程式時,如果使用者選擇使用wWinMain 而不是int main(),則可能會遇到對WinMain 的未定義參考。出現此錯誤是因為 MinGW 的 CRT 啟動庫不支援 wWinMain。

解決方案:

較新版本的 MinGW 提供了 -municode 連結器選項,可以切換到備用啟動允許使用 wWinMain 而不是 WinMain 的程式碼。將此選項合併到命令列、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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn