こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

VC++、windows.hのincludeエラー

最近C++を勉強し始めたのですが出だしからつまづいてしまいました。
Visual Studio 2010 SP1 + Windows SDK 7.1 (OS:windows7 Professional 64bit版)を使用しているのですが、#include <windows.h> のみでビルドを行ったところ以下のように driverspecs.h でエラーが生じてしまいました。


1>c:\program files\microsoft sdks\windows\v7.1\include\driverspecs.h(356): error C2143: 構文エラー : ')' が '(' の前にありません。
1>c:\program files\microsoft sdks\windows\v7.1\include\driverspecs.h(356): error C2091: 関数は関数を返せません。
1>c:\program files\microsoft sdks\windows\v7.1\include\driverspecs.h(356): error C2059: 構文エラー : ')'
<中略>
1>c:\program files\microsoft sdks\windows\v7.1\include\driverspecs.h(699): fatal error C1003: プログラム内のエラーが 100 個を超えました。コンパイルは中断されます。
1>
1>ビルドに失敗しました。


以下に driverspecs.h ファイルのエラー部分を抜粋して載せておきます。

__ANNOTATION(SAL_functionClass(__in char *);)
#define __drv_functionClass(x)\
__drv_out(__drv_declspec("SAL_functionClass(\""#x"\")"))

まだ始めたばかりで知識も乏しく、どのように対処をしていいものか困っています。
何か解決の糸口になるようなヒントでも構いませんので教えて頂けると助かります。
よろしくお願いします。

投稿日時 - 2012-07-24 22:02:19

QNo.7608792

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

driverspecs.hはあまり見たことがないヘッダファイルです。中身を見た所、Windowsカーネルに絡む定義があるようですが、プロジェクトファイルはWin32プロジェクトで、インクルードしたのはwindows.hだけですか?

あとは、コンパイル設定で余計なプリプロセッサ定義を指定したとか?

#新規にプロジェクトを開始し、C++ Win32プロジェクトでコンソールアプリケーションを選択して、そのままビルドしたら通りませんか?
#これで通るなら、stdio.h の前あたりで、windows.hをインクルードすれば行けるはずです。

投稿日時 - 2012-08-03 22:13:11

あなたにオススメの質問