1
我正在嘗試編譯幾年前編寫的模擬鼠標點擊和擊鍵的程序。我已經將它降低到這個最小例如:'INPUT'未在此範圍內聲明
#include "Windows.h"
int main(){
INPUT foo;
return 0;
}
它給我這個錯誤:
C:\projects\clicker>g++ minimaltest.cpp
minimaltest.cpp: In function 'int main()':
minimaltest.cpp:4:2: error: 'INPUT' was not declared in this scope
minimaltest.cpp:4:8: error: expected ';' before 'foo'
MSDN對INPUT頁說,它在WINDOWS.H中定義的,所以我不知道爲什麼不識別類型。
另一個stackoverflow用戶有類似的問題here,但他們的解決方案,增加#define _WIN32_WINNT 0x0500
,沒有修復錯誤。
我在Windows XP上幾年前就可以構建這個程序。難道說INPUT在Windows 7上不能像XP那樣工作嗎?或者,也許我忘了給編譯器提供一個標誌?
你的代碼在哪裏添加了定義?它應該是你所擁有的第一行。 – chris 2012-07-21 22:12:12
在VC++ 2010中編譯得很好。 – Mysticial 2012-07-21 22:12:24
@chris,好偵探工作。我在'include'之後和'main'之前加上了define。我沒有想到把它放在'include'之前,儘管事後看來很明顯。現在正在工作。 – Kevin 2012-07-21 22:22:54