- 締切済み
VC++6.0シンタックスエラーについて
一度windowsのプログラムを半完成させていました。 その後大幅に修正するため、コードの一部を切り貼りしながら修正していたのですが、ビルドをしたとき、予想以上のエラーが発生し(50位) 原因もよくわかりませんでした。 たまたま、雑誌についていたサンプルコードをビルドしたのですが まったく同じエラーが発生するのです。 自分では、VC++が壊れたのかなと思っているのですが、 こんな現象ご存知ありませんか?
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
#3補足について ウチでも同じようなことをやってみましたが、(もちろん)問題ありませんでした。 エラーメッセージから判断するに、ヘッダファイル(*.hのファイル)が壊れているか、 あるいは、コンパイルオプションとかそういうので、依存するヘッダの読み込みやdefineマクロなんかが、一部無効になっているのではないかと思います。 VCを再インストールした方が早いかもしれませんね。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
自動的に設定されるヘッダファイルの設定がおかしくなっているか ヘッダファイル自体が壊れているんですかね~。 システムが作成したコードの部分を削除したりすると、コードの管理が自動でできなくなる場合はありますけどね。 新しい、プロジェクトでほとんどなんにも実行しないような、ものを作ってもエラーがでますか? そういうもので、エラーになるようなら、VCが壊れているのかもしれませんが、 新しいプロジェクトにしたら特別エラーがでないのなら、単にそのプロジェクトをおかしくしたんでしょうね。
補足
次の4つのコードを実行してみました。これらはすべて 新しいプロジェクト作成後実施しています。 1.拡張子Cで(コンソールアプリ) main() { } -----異常なく実行可能 2.拡張子C++で(コンソールアプリ) main(void) { } -----異常なく実行可能 3.拡張子Cで(win32アプリ) #include <windows.h> int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { return 0; } すると コンパイル中... 01_02_00.c c:\program files\microsoft visual studio\vc98\include\winnt.h(1092) : error C2061: 構文エラー : 識別子 'KSPIN_LOCK' がシンタックスエラーを起こしました。 c:\program files\microsoft visual studio\vc98\include\winnt.h(1092) : error C2059: 構文エラー : ';' ・・・・・省略となります。 4.新規作成-win32アプリ-標準的なハローワールドアプリとしてビルドした結果 リソースをコンパイル中... コンパイル中... StdAfx.cpp c:\program files\microsoft visual studio\vc98\include\winnt.h(1092) : error C2146: 構文エラー : ';' が、識別子 'KSPIN_LOCK' の前に必要です。 c:\program files\microsoft visual studio\vc98\include\winnt.h(1092) : fatal error C1004: 予期せぬ EOF が検出されました。 cl.exe の実行エラー fsaf.exe - エラー 2、警告 0 となります。 なぜ新規作成のサンプルプログラムのようなものまで、エラーが出るのかわかりません。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
)とか }とかが不整合になっているとか ;がどっかで消えたとか 宣言部分でエラーが発生しているとか
- elmclose
- ベストアンサー率31% (353/1104)
エラーの内容は把握できていますか? 例えば、includeしているファイルがなくなったとか、そういうことではないでしょうか?
補足
もう少し具体的に症状を説明します。 1.次のことをしてみた結果とエラーです。 ○プログラムを開き新規作成-win32アプリケーションで プロジェクト名をいれ「標準的な"ハローワールド"アプリケーション」で実行し、すぐビルドして出たエラーです。 ▼コンパイル中... StdAfx.cpp c:\program files\microsoft visual studio\vc98\include\winnt.h(1092) : error C2146: 構文エラー : ';' が、識別子 'KSPIN_LOCK' の前に必要です。 c:\program files\microsoft visual studio\vc98\include\winnt.h(1092) : fatal error C1004: 予期せぬ EOF が検出されました。 2.今回のビルドで発生したエラーです。ちなみにビルド後黙り込みます。 ▼コンパイル中... main.c c:\program files\microsoft visual studio\vc98\include\winnt.h(1092) : error C2061: 構文エラー : 識別子 'KSPIN_LOCK' がシンタックスエラーを起こしました。 c:\program files\microsoft visual studio\vc98\include\winnt.h(1092) : error C2059: 構文エラー : ';' c:\program files\microsoft visual studio\vc98\include\winnt.h(1093) : error C2143: 構文エラー : '{' が '*' の前に必要です。 c:\program files\microsoft visual studio\vc98\include\winnt.h(3132) : error C2061: 構文エラー : 識別子 'UINT_PTR' がシンタックスエラーを起こしました。 c:\program files\microsoft visual studio\vc98\include\winnt.h(3133) : error C2059: 構文エラー : '}' ・・・・・長いのでここまでにします。 3.以前からビルドの黙り込みがあり、その都度タスクマネージャーで終了していた。 4.エラーを見ると私の作成したソースではなく、開発ソフトの宣言ヘッダファイル?のようなものがエラーと指摘しています。そのソースのはじめを次に示します。 ○/*++ BUILD Version: 0095 Increment this if a change has global effects 以上よろしくお願いします。
補足
再インストールを試みましたがだめでした。 OSのインストールからやり直してみます。