一開始 我只 寫了一行:
#include <windef.h>
編譯時間就出現以下錯誤:
1>c:/program files/microsoft sdks/windows/v6.0a/include/winnt.h(5547) : error C2146: 語法錯誤 : 缺少“;”(在標識符“ContextRecord”的前面)<br />1>c:/program files/microsoft sdks/windows/v6.0a/include/winnt.h(5547) : error C4430: 缺少類型說明符 - 假定為 int。注意: C++ 不支援預設 int<br />1>c:/program files/microsoft sdks/windows/v6.0a/include/winnt.h(5547) : error C4430: 缺少類型說明符 - 假定為 int。注意: C++ 不支援預設 int<br />1>c:/program files/microsoft sdks/windows/v6.0a/include/winnt.h(11265) : error C2065: “PCONTEXT”: 未聲明的標識符<br />1>c:/program files/microsoft sdks/windows/v6.0a/include/winnt.h(11266) : error C2146: 語法錯誤 : 缺少“)”(在標識符“ContextRecord”的前面)<br />1>c:/program files/microsoft sdks/windows/v6.0a/include/winnt.h(11266) : warning C4229: 使用了記時錯誤 : 忽略資料上的修飾符<br />1>c:/program files/microsoft sdks/windows/v6.0a/include/winnt.h(11266) : error C2182: “RtlCaptureContext”: 非法使用“void”類型<br />1>c:/program files/microsoft sdks/windows/v6.0a/include/winnt.h(11266) : error C2491: “RtlCaptureContext”: 不允許 dllimport 資料 的定義<br />1>c:/program files/microsoft sdks/windows/v6.0a/include/winnt.h(11266) : error C2059: 語法錯誤 : “)”<br />1>c:/program files/microsoft sdks/windows/v6.0a/include/winnt.h(12937) : error C3861: “__readfsdword”: 找不到標識符<br />1>e:/personal_files/c++_project/testsdk/testsdk/hikvisionsdk.h(214) : error C2061: 語法錯誤 : 標識符“SYSTEMTIME”<br />1>e:/personal_files/c++_project/testsdk/testsdk/hikvisionsdk.h(395) : error C2061: 語法錯誤 : 標識符“SYSTEMTIME”<br />1>e:/personal_files/c++_project/testsdk/testsdk/hikvisionsdk.h(397) : error C2061: 語法錯誤 : 標識符“SYSTEMTIME”<br />1>e:/personal_files/c++_project/testsdk/testsdk/hikvisionsdk.h(398) : error C2061: 語法錯誤 : 標識符“SYSTEMTIME”<br />1>e:/personal_files/c++_project/testsdk/testsdk/hikvisionsdk.h(409) : error C2061: 語法錯誤 : 標識符“SYSTEMTIME”
隨後在網上找了找資料,發現把#include <windef.h> 變成 #include <windows.h> ,程式編譯時間就沒有報錯了。
可以參考以下網址:
http://topic.csdn.net/u/20080406/10/2e6b8dc4-73f7-444f-ac89-39d63687a4e8.html