在C (MinGW) 中使用wWinMain 時解決對WinMain 的未定義引用
嘗試使用對WinMain 時(HINSTANC, HINSst. PWSTR pCmdLine , int nCmdShow) 作為MinGW 下C 中的程式入口點,可能會出現「對WinMain 的未定義引用」錯誤。
原因:
MinGW,特別是舊版本,本身不支援 wWinMain 入口點,它需要寬字元 (WCHAR) 命令列參數。
解:
有兩種可能的解決方案:
1。使用 -municode 標誌:
較新版本的 MinGW 支援 -municode 連結器標誌,該標誌切換到允許使用 wWinMain 的備用啟動代碼。將此標誌新增至命令列、IDE 中的連結器選項或Makefile:
g++ other_options_and_arguments -municode
2.使用WinMain 入口點:
對於舊版的MinGW或者如果您不想使用-municode 標誌,您可以恢復使用標準WinMain 入口點。這需要如下修改您的程式碼:
說明:
如果稍後需要在程式中存取Unicode 命令列參數,請使用LPWSTR cmd_line = GetCommandLineW();而不是使用WinMain 參數。
以上是為什麼在 C 中使用 wWinMain 時 MinGW 會拋出「未定義的 WinMain 引用」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!