[筆記] 在 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>了。

留言

這個網誌中的熱門文章

卡巴拉島ViX_nriviewer簡易教學

[無用筆記] 單硬碟安裝 VMWare ESXi + Ubuntu 雙系統

[筆記] ASUS X570-PRO lm-sensors 設定