• ベストアンサー

エラーがでるようになりました。

vs2005を使っているんですが、 「c:\documents and settings\rm\my documents\visual studio 2005\projects\o.c\o.c.cpp(17) : fatal error C1010: プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "stdafx.h"' をソースに追加しましたか?」 というわけの分からない表示が出ました。 どのプログラムも実行できず、この表示が出ます。 急にそうなったんですが、特別なことをした覚えはありません。

  • jlnh
  • お礼率37% (201/542)

質問者が選んだベストアンサー

  • ベストアンサー
  • zwi
  • ベストアンサー率56% (730/1282)
回答No.3

o.cを作るときの手順が問題ですね。 まず確認することは拡張子を表示状態にすることで、「フォルダのオプション」で「表示」タブの「登録されている拡張子は表示しない」のチェックボックスをOFFにします。 登録するファイルの一番簡単な作成方法は、エクスプローラでまず新規作成でテキストファイルを作成して拡張子を.cに変更。あるいは既存のファイルの拡張子を.cに変更します。o.c.cppならo.cに変更。 それをVS2005のソリューションエクスプローラで「ソースファイル」→「追加」→「既存の項目」で登録してやると拡張子が.cppになるのは防げます。.cppファイルとしてコンパイルするとC++言語として扱われて文法のチェックが変わるのでC言語の勉強中にはお勧めできません。 プリコンパイルヘッダーがよく分からないなら、ソースだけ退避してからプロジェクトを一度削除して空のプロジェクトを作り直すところから始めてはどうでしょう。そんなに手間では無いと思います。

jlnh
質問者

補足

たびたび申し訳ない質問なんですが、  空のプロジェクトを作るということは、全てをやりお直すということですね(笑)。  空のプロジェクトの欄は「新規作成」⇒「プロジェクト」⇒「プロジェクトの種類」のところの「全般」ですか? そのときのファイル名は.cをつけるんですよね? m.cという名前にしたんですが、開けません。 m.cフォルダに入っているファイルがm.c.vcprojとm.c.slnの2つしかありません。コードを入力するところまで行きません。

その他の回答 (4)

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.5

zwiです。 プロジェクトの新規名は何でもかまいません。種別はコンソールアプリケーションで空のプロジェクトを作成します。.cにする必要のあるのはソースファイル名だけです。 一度書いてますがソリューションエクスプローラの追加で作成済みのソースファイルを追加します。前の回答とあわせて読んでみて下さい。

jlnh
質問者

補足

おかげさまで解決しました。stdio.hの中身をいじってしまったため、もう一度インストールし直した結果、デバッグできました。 長文をどうもありがとうございました。

  • uyama33
  • ベストアンサー率30% (137/450)
回答No.4

削除するのは debugまたは、Releaceフォルダーの中にある 拡張子が .pch となっているファイルです。

jlnh
質問者

補足

解決しました。stdio.hの中身をいじってしまったため、インストールしなおさなければならず、結果うまくいきました。 ご回答ありがとうございました。

  • uyama33
  • ベストアンサー率30% (137/450)
回答No.2

プリコンパイルヘッダーのファイル (作業領域の中にある自分では作った覚えはなくて比較的大きなファイル) を削除すればよい。 このファイルにエラーがある。 (コンパイラに新しく作らせればよい。) ただし、間違えると大変なので どこかにコピーしておくこと。

jlnh
質問者

補足

要は、o.cを使わなければいいということですか? 黄色いo.cファイルは削除しました。 新たなファイルを作ってやってみます。

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.1

あれ?今までC言語のプログラムじゃなかったですか? いつからC++言語を始めたんでしょうか? C言語のプログラムならファイル名をxxx.cという.c拡張子にしておけば、この問題は発生しません。 そもそも、o.c.cppというファイル名も不思議なんですが、何故こんな名前なんでしょうか?「C言語」それとも「C++言語」どちらなんでしょうか? C++言語であれば、以下の方法で解決できます。 http://msdn2.microsoft.com/ja-jp/library/d7fz9ckx(VS.80).aspx 突然始まったとの事ですが、よく思い出してください。必ず何かきっかけがあったはずです。コンパイラの環境が壊れたわけはないので、自分で何かを行わないと急にエラーにはなりません。

jlnh
質問者

補足

C言語をやってます。 このリンクはCも適用できないんですか? やってみたんですが変わりませんでした。 自分ではo.c.cppというファイルを作った覚えはありません。 o.cは作りました。 o.cは「C言語のプログラムならファイル名をxxx.cという.c拡張子にしておけば、この問題は発生しません。」を満たしていますよね?

関連するQ&A

  • 一番上だけ・・・?

    初めて投稿させていただきます。 私は今WEBを見て、DirectXとVisualStudio2005でC++のプログラムを作っています。 ユーザー定義のソースファイルとヘッダーファイル、リソースファイルを使っていて、そのうちヘッダーファイルを「stdafx.h」で参照したのですが、以下のようなエラーが出ました。 (以下プロジェクト名と各種ファイル名は一部仮称です) ------ ビルド開始: プロジェクト: prg, 構成: Debug Win32 ------ コンパイルしています... stdafx.cpp c:\documents and settings\nec-pcuser\my documents\visual studio 2005\projects\prg\prg\stdafx.h(38) : fatal error C1083: include ファイルを開けません。'hdf01.h': No such file or directory prg - エラー 1、警告 0 ========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ========== おそらく、以下のところに問題があると思われます。 ----------[SAMPLE CODE]----------(stdafx.h内) // TODO: プログラムに必要な追加ヘッダーをここで参照してください。 #include "hdf01.h" #include "hdf02.h" #include "hdf03.h" #include "hdf04.h" #include "hdf05.h" ----------[SAMPLE CODE]---------- そこで、この掲示板を参考にして次のような方法を取りました。 (1)""を<>に変えてみる (2)[ツール]-[オプション]からインクルードファイルにパス先を登録してみる (3)「"hdfXX.h"」を相対パスにする (4)「"hdfXX.h"」を絶対パスにする 結果は、(1)と(3)は元と同じエラー、(2)と(4)は300以上のエラーが出て、コンパイルが中断されてしまいました。 気になるのは、「"hdf01.h"」と「"hdf02.h"」の位置を入れ替えてみると、「hdf02.h だけを読み込めない」といったエラーが出たことです。 その後もヘッダーファイルを記述する順番を替えてみましたが、どうやら「一番上のヘッダーファイル」だけを読まないらしいです。 実は、WEBで見たプログラムはVC++6.0向けのプログラムで、そのままコピーしてVS2005に貼り付けたところ、 ------ ビルド開始: プロジェクト: SampleSTG, 構成: Debug Win32 ------ コンパイルしています... stdafx.cpp コンパイルしています... ssf01.cpp c:\documents and settings\nec-pcuser\my documents\visual studio 2005\projects\prg\source\ssf.cpp(537) : fatal error C1010: プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "stdafx.h"' をソースに追加しましたか? ssf02.cpp c:\documents and settings\nec-pcuser\my documents\visual studio 2005\projects\prg\source\ssf02.cpp(54) : fatal error C1010: プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "stdafx.h"' をソースに追加しましたか? ssf03.cpp c:\documents and settings\nec-pcuser\my documents\visual studio 2005\projects\prg\source\ssf03.cpp(136) : fatal error C1010: プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "stdafx.h"' をソースに追加しましたか? ssf04.cpp c:\documents and settings\nec-pcuser\my documents\visual studio 2005\projects\prg\source\ssf04.cpp(370) : fatal error C1010: プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "stdafx.h"' をソースに追加しましたか? コードを生成中... スキップ中... (関連する変更は検出されませんでした) prg.cpp prg - エラー 4、警告 0 ========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ========== というエラーが出たため見直してみたところ、stdafx.hに「// TODO: ~ 」といったものを見かけたため、上のように書き加えました。 PSDKやDirectXのパスは通っています。 アプリケーションは「Win32 Application」→「Win32 プロジェクト」と読み替えて、「プロジェクト名を入力して[OK]を押したら、次の画面でいきなり[完了]を押す」と、指示通りに作成しました。 ちなみに、OSは WindowsXP HomeEdition、 VS2005は AcademicEditionです。 よろしくお願いいたします。

  • VCでストップウォッチを作りたいのですが、うまくいきません。

    こんにちは。私は30代の男性です。 「Visual C++ の初歩(http://www.gulf.or.jp/~damayan/vc/visualc2.htm)」というサイトで、ストップウォッチプロジェクトファイルがダウンロードできたので、コピペしてコンパイルしようと思ったのですが、うまくいきませんでした。 いつも下記のようなエラーメッセージが表示されます。ヘッダーファイルに「stdafx.h」は置いてあるのですが、やり方が間違っているのでしょうか? ちなみに、ダウンロードした「release」ファイルの中のexeファイルを起動すれば、実行はされます。「自分が新規でプロジェクトファイルを作り、ダウンロードしたソースをコピーしてコンパイルを試みても、うまくいかない。」という話です。 よきアドバイスを頂ければと思います。 宜しくお願い致します。 ----- ビルド開始: プロジェクト: abc, 構成: Debug Win32 ------ コンパイルしています... abc.cpp c:\documents and settings\my documents\visual studio 2005\projects\abc\abc\abc.cpp(111) : fatal error C1010: プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "stdafx.h"' をソースに追加しましたか? ビルドログは "file://c:\Documents and Settings\My Documents\Visual Studio 2005\Projects\abc\abc\Debug\BuildLog.htm" に保存されました。 abc - エラー 1、警告 0 ========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ==========

  • このエラーの対処法を教えて下さい。

    Visual C++ 2005 Express Edition で、DXライブラリを使ったプログラムをコンパイルすると、 「kamakiri1.cpp(206) : fatal error C1075: 左側 中かっこ '{' に対応するものが 'c:\documents and settings\□\my documents\visual studio 2005\projects\newgame\kamakiri1.cpp(21)' で見つかる前に EOF が検出されました。」と出たのですが、これはどういうエラーなんでしょうか。

  • Visual C++ 2008で<stdio.h>のインクルード文が使えない!?

    #include <stdio.h> int main(){ printf("hello!"); } で実行すると、 : warning C4627: '#include <stdio.h>': プリコンパイル済みヘッダーの使用を検索中にスキップされました ディレクティブを 'stdafx.h' に追加するか、プリコンパイル済みヘッダーをビルドし直します .\■■■.cpp(5) : fatal error C1010: プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "stdafx.h"' をソースに追加しましたか? と言ったエラーが起きてしまいます。 ちなみに、インクルードファイルらしき物を削除しまくった覚えがあります…。100%これが原因かと。 これが原因だとしたらどうすればいいんでしょうか? あと、DXライブラリが使えるように設定を変えたこともあります。 どこの何を変えたかは忘れてしまいましたけど。

  • MFCのエラーについて

    「プリコンパイル済みヘッダーの検索中に予期せぬ EOF を検出しました」 というエラーが出ました。これを直すのにいろいろ試し結局 #include "stdafx.h"の表記をすることで直りました。 このstdafxヘッダーファイルはMFCを使用した時点で用意されるのですがこれを使うとなぜこのエラーがなくなるのかがわかりません。 どなたかおしえてください。よろしくお願いします

  • VC++ 2008で別classからFormがincludeできません

    お世話になります。 タイトルの通り、別ソースで書いてあるクラスでForm1のincludeができません。includeすれば、そのclassの型が使用できるという認識なのですが、何か他にしなければならない事があるのでしょうか…。 環境はVisual C++ 2008 Express Editionです。 以下、ソースです。 [Form1.h] #pragma once #include "testclass.h" namespace testAppli { (略) private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { testclass *aaa = new testclass(); aaa->testfunc(this); } [testclass.h] #pragma once #include "stdafx.h" #include "Form1.h" class testclass { public: void testfunc(Form1^ aaa); }; [testclass.cpp] #include "stdafx.h" #include "testclass.h" void testclass::testfunc(Form1^ aaa) { return; } 以下のコンパイルエラーが出ています。 1>c:\documents and settings\in flames\my documents\visual studio 2008\projects\testappli\testappli\Form1.h(98) : error C2065: 'testclass' : 定義されていない識別子です。 1>c:\documents and settings\in flames\my documents\visual studio 2008\projects\testappli\testappli\Form1.h(98) : error C2065: 'aaa' : 定義されていない識別子です。 1>c:\documents and settings\in flames\my documents\visual studio 2008\projects\testappli\testappli\Form1.h(98) : error C2061: 構文エラー : 識別子 'testclass' 1>c:\documents and settings\in flames\my documents\visual studio 2008\projects\testappli\testappli\Form1.h(99) : error C2065: 'aaa' : 定義されていない識別子です。 1>c:\documents and settings\in flames\my documents\visual studio 2008\projects\testappli\testappli\Form1.h(99) : error C2227: '->testfunc' : 左側がクラス、構造体、共用体、ジェネリック型へのポインタではありません。 1> 型は ''unknown-type'' です。 1>c:\documents and settings\in flames\my documents\visual studio 2008\projects\testappli\testappli\testclass.h(8) : error C2061: 構文エラー : 識別子 'Form1' 1>.\testclass.cpp(4) : error C2065: 'Form1' : 定義されていない識別子です。 1>.\testclass.cpp(4) : error C2065: 'aaa' : 定義されていない識別子です。 1>.\testclass.cpp(5) : error C2448: 'testclass::testfunc' : 関数の定義が間違っています。 1>testAppli.cpp 1>c:\documents and settings\in flames\my documents\visual studio 2008\projects\testappli\testappli\testclass.h(8) : error C2061: 構文エラー : 識別子 'Form1' 1>c:\documents and settings\in flames\my documents\visual studio 2008\projects\testappli\testappli\Form1.h(99) : error C2660: 'testclass::testfunc' : 関数に 1 個の引数を指定できません。

  • Relaeaeモードでビルドできない。

    こんにちは。皆様に教えて頂きたいのですが、いまDebugモードでビルドできているのですが、Releaseモードで同様にやると、「fatal error C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました」と出ます。そこで、 関係するsourceの*.cのヘッダーに#include "stdafx.h"を加えたところ、「fatal error C1853: 'Release/***.pch' プリコンパイルされたヘッダー ファイルは、このバージョンのコンパイラと互換性がありません。」とエラーが出ます。どこが間違っているのかお分かりの方教えて頂けませんでしょうか?よろしくお願いいたします。

  • opencvにおけるコンパイルエラー解決法

    【visual studio2010におけるopencv利用上でのコンパイルエラー】 当方visual studioもopencvも初心者です。踏まえてお答えいただけると大変助かります。 この度、オプティカルフローに関する勉強をしようとopencvの利用を始めました。 しかし、以下の文章が出てきてコンパイルができません。 optical_flow.cpp(1): warning C4627: '#include "cv.h"': プリコンパイル済みヘッダーの使用を検索中にスキップされました ディレクティブを 'StdAfx.h' に追加するか、プリコンパイル済みヘッダーをビルドし直します optical_flow.c++(2): warning C4627: '#include "highgui.h"': プリコンパイル済みヘッダーの使用を検索中にスキップされました ディレクティブを 'StdAfx.h' に追加するか、プリコンパイル済みヘッダーをビルドし直します (この後は、上記ヘッダファイル内で宣言していると思われる関数が無効である。という旨のエラーメッセージが延々と続きます) visualstudio上の設定はしっかりと行い、環境設定上のpath設定も行いました。なお、設定は下記URLに従って行い、白い画面が出るプログラムまでは正常に動作しました。 http://imagesensing.seesaa.net/article/200532994.html しかし、以下のHPに記載されているオプティカルフローのサンプルプログラムを動かそうとすると上記のヘッダファイルが開けない。という旨のエラーメッセージが出ます。 http://opencv.jp/sample/optical_flow.html そのままコンパイルしようとした際、プリコンパイルヘッダーをソースに追加する指示が一度出たので#include "StdAfx.h"はソースに追加してあります。 プリコンパイルヘッダーを使用しない。という設定も試みましたがダメでした。 解決法を教えてください。宜しくお願いします。

  • 本に従ってビルドを進めていったつもりが・・失敗;

    ------ ビルド開始: プロジェクト: D3DFWsamplw, 構成: Debug Win32 ------ コンパイルしています... Renderer.cpp c:\dx90sdk\include\d3d9.h(33) : fatal error C1083: include ファイルを開けません。'objbase.h': No such file or directory Scene.cpp c:\documents and settings\owner\my documents\visual studio 2005\projects\d3dfwsamplw\d3dfwsamplw\scene.cpp(6) : fatal error C1083: include ファイルを開けません。'windows.h': No such file or directory Window.cpp c:\documents and settings\owner\my documents\visual studio 2005\projects\d3dfwsamplw\d3dfwsamplw\window.cpp(8) : fatal error C1083: include ファイルを開けません。'windows.h': No such file or directory コードを生成中... ビルドログは "file://c:\Documents and Settings\Owner\My Documents\Visual Studio 2005\Projects\D3DFWsamplw\D3DFWsamplw\Debug\BuildLog.htm" に保存されました。 D3DFWsamplw - エラー 3、警告 0 ========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ========== とでてしまいます、これだけみてなにが悪いのか誰か説明できるひといませんか?初心者なんですいません;

  • DirectXのエフェクトをやりたくて・・・

    VisualStudio2005 ExpressEditionを用いてプログラミングの初歩をやろうとしているんですが・・DirectXSDKをつかったエフェクトを作るときなぜかインクルードファイルとライブラリファイルのところにのところにDirectXSDKのファイルを追加しただけではエラーが出てしまいます。パスもしっかりとしたはずなんですがなんででしょうか?過去ログ見てもわかりませんでした; ------ ビルド開始: プロジェクト: D3DFWsamplw, 構成: Debug Win32 ------ コンパイルしています... Renderer.cpp c:\dx90sdk\include\d3d9.h(33) : fatal error C1083: include ファイルを開けません。'objbase.h': No such file or directory Scene.cpp c:\documents and settings\owner\my documents\visual studio 2005\projects\d3dfwsamplw\d3dfwsamplw\scene.cpp(6) : fatal error C1083: include ファイルを開けません。'windows.h': No such file or directory Window.cpp c:\documents and settings\owner\my documents\visual studio 2005\projects\d3dfwsamplw\d3dfwsamplw\window.cpp(8) : fatal error C1083: include ファイルを開けません。'windows.h': No such file or directory コードを生成中... ビルドログは "file://c:\Documents and Settings\Owner\My Documents\Visual Studio 2005\Projects\D3DFWsamplw\D3DFWsamplw\Debug\BuildLog.htm" に保存されました。 D3DFWsamplw - エラー 3、警告 0

専門家に質問してみよう