[筆記] 在 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>了。
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>了。
留言
張貼留言