6

私はどこにも行かないので、誰かがこの小さな問題で私を助けてくれることを願っています. まず、コードは次のとおりです。

#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 など) を使用できません。extern "C" コードをすべて削除した場合にのみ使用できます...なぜですか? そして、これを回避する方法はありますか?

編集:申し訳ありませんが、正確なエラーを伝えるのを忘れてください:識別子「cout」は未定義です

ありがとう

4

2 に答える 2

1

私は問題を発見しました.VC++ディレクトリにディレクトリを正しい順序で追加していませんでした。

順序は次のとおりです。

C:\WinDDK\7600.16385.1\inc\ddk
$(VCInstallDir)include
$(VCInstallDir)atlmfc\include
C:\WinDDK\7600.16385.1\inc\api
$(WindowsSdkDir)include
$(FrameworkSDKDir)\include

なぜこの順序にする必要があるのか​​ わかりませんが、現在は機能しています...非常に奇妙です...

于 2012-05-05T19:47:07.767 に答える