[筆記] 在 MinGW 中正常的使用Windows.h
因為最近比較少用 Visual Studio,於是試著直接在Code::Blocks上面用Mingw-w64寫windows小程式,結果沒想到雖然 MinGW 提供了 <windows.h> 但卻沒有辦法正常編譯--錯誤顯示沒有實作: undefined reference to `_imp__GetOpenFileNameA@4'| 查詢了資料後,嘗試 link 路邊提供的library --- GG。 最後發現似乎加上 -mwindows 參數就可以搞定,不過反而延伸出其他問題:用std::cout的輸出一片空白.... 但是 return 值仍然正常,而且程式還正常的結束。又拜了一下Google,確定還要加上-mconsole參數,這次終於讓功能正常。 結論:設定Linker額外參數,加上 -mwindows -mconsole 其他如PlaySound等函數,還需要:-lwinmm Code::Blocks 步驟如下: 1. 在專案上右鍵->Build options 2. 在跳出的視窗選 Linker settings,在Other linker options裡面加入-mwindows -mconsole並OK儲存,結果如下: 3.重新 Build 就可以正常使用<windows.h>了。