在MinGW 中使用wWinMain 解決對WinMain 的未定義引用(C )
嘗試用int WINAPIWinMain(HINSTANCMain(Hint ) 時hInstance、HINSTANCE、PWSTR pCmdLine、int nCmdShow)在使用MinGW 作為編譯器的C 應用程式中,使用者可能會遇到「未定義對WinMain 的引用」錯誤訊息。出現此錯誤的原因是 Visual C 和 MinGW 的 CRT 啟動庫之間存在差異,它們本身不支援 wWinMain 入口點。
解決方案:
對於較新版本的MinGW ,將-municode 連結器選項新增至命令列、IDE 中的連結器選項或Makefile 將啟用wWinMain 。
g++ other_options_and_arguments -municode
但是,對於缺乏 -municode 支援的舊版本 MinGW,解決方案是恢復使用標準 WinMain 函數。在這種情況下,程式碼可以修改如下:
<code class="c++">int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, PSTR pCmdLine, int nCmdShow)</code>
注意:
雖然Visual C 支援wWinMain 入口點,其中「lpCmdLine」參數為一個「 LPWSTR”,它通過要求使用預處理器定義而引入了額外的複雜性,並且使用起來可能更加麻煩。因此,在使用 MinGW 時,建議使用標準的 WinMain 函數,除非程式的特定要求需要使用 unicode 命令列。
以上是為什麼我的 MinGW C 專案在使用 wWinMain 時拋出“未定義的 WinMain 引用”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!