奇怪的編譯錯誤我昨天從Visual Studio切換到Code :: Blocks,只是有一些奇怪的編譯器錯誤消息。Code :: blocks
我包括windows.h,我可以使用所有的API調用就好,如創建窗口類和創建窗口/按鈕和東西。但是,當我試圖把一些按鍵與SendInput()
,我得到了這兩個聲明的錯誤消息:
INPUT ip;
KEYBDINPUT kbi;
編譯器錯誤:
C:\code_blocks\test-app\main.cpp|21|error: 'INPUT' was not declared in this scope|
C:\code_blocks\test-app\main.cpp|22|error: 'KEYBDINPUT' was not declared in this scope|
我甚至可以右鍵單擊KEYBDINPUT
和INPUT
structors和點擊「查找聲明」,它發現它在「winuser.h」(它在裏面),但它仍然給我這些錯誤消息,他們沒有聲明。
此代碼在VS中正常工作,只包含windows.h。我正在使用GNU GCC編譯器。
您確定您的課程或CPP文件已正確包含該標題嗎?否則,它不知道符號INPUT和KEYBDINPUT是什麼意思。 – 2010-07-16 19:38:01
是的,因爲我可以使用windows.h/winuser.h中的其他函數和聲明,但是這兩個在winuser.h中的結構體聲明它們沒有聲明,但它們是!我可以在winuser.h中看到它們:/ – Kaije 2010-07-16 19:39:51
「我從Visual Studio切換到Code :: Blocks」 - 爲什麼你會這樣做? :P – Cogwheel 2010-07-16 19:41:51