我希望有人可以帮助我解决这个小问题,因为我根本就没有。首先,继承代码:
#include<string>
#include<iostream>
#include<Windows.h>
using namespace std;
extern "C"
{
#include<hidsdi.h>
#include<SetupAPI.h>
}
int main()
{
int iQuit;
cout << "Testing Program" << endl;
return 0;
}
它不会让我使用标准的东西(即cout,cin,endl等)。当我取出所有外部“C”代码时,它只允许我使用它......为什么会这样?有没有办法解决这个问题?
编辑:对不起,忘了告诉你确切的错误:它说标识符“cout”未定义
由于
答案 0 :(得分:3)
编译环境有问题。该代码没有任何问题。它编译并运行良好。
在对你提出的问题的评论中:
我正在学习写一个驱动程序,所以我可以使用我的设备,如键盘和鼠标,所以我正在使用WDK。如果我错了,请纠正我,但我认为你需要使用extern“C”来使用这些头文件?
实际上,您应该简单地用C而不是C ++编写代码来进行驱动程序开发。
答案 1 :(得分:0)
我发现了问题,我没有在VC ++目录中以正确的顺序添加目录。
订单应该是:
C:\ WINDDK \ 7600.16385.1 \ INC \ DDK
$(VCInstallDir)包括
$(VCInstallDir)atlmfc \包括
C:\ WINDDK \ 7600.16385.1 \ INC \ API
$(WindowsSdkDir)包括
$(FrameworkSDKDir)\包括
不知道为什么它需要按此顺序排列,但它现在有效...非常奇怪...