No.2ベストアンサー
- 回答日時:
説明しようとすると、結構ややこしいのですが…。
VC++での一般的なプログラムの作成手順で、以下のようなファイルが出来ていたとします。
-----Test.cpp-----
#include "stdafx.h"
int main(int argc, char* argv[])
{
printf("Hello World!\n");
return 0;
}
これに、以下の.hファイルと.cppファイルを追加します。
-----foo.h-----
int foo(void);
-----foo.cpp-----
int foo(void)
{
return 0;
}
この時点でコンパイルを実行すると、
d:\ほげほげ\foo.cpp(5) : fatal error C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
が出ます。
これは、
[プロジェクト]-[設定]
「プロジェクトの設定」ダイアログ
左上「設定の対象」に「Win32 Debug」
左側treeで、~\Sourcr Files\foo.cppを選択、
右側「C/C++」タブ
カテゴリ「プリコンパイル済みヘッダー」を選ぶと、
「プリコンパイル済みヘッダー ファイル(pch)を使用」
このファイルまで「stdafx.h」
が選ばれていると思います。
この設定のために、コンパイラはfoo.cppのファイルを1行目から順に「stdafx.h」のインクルードを行っている行を検索します。
該当行が見つかった場合は、それ以前の行のソースコードはpchに予めコンパイルされているものとして無視します。
この例の場合は該当行が見つかる前にファイル末尾のEOFが見つかったために、上記のようなエラーが出てくるという仕組みです。
--
通常はソース先頭の滅多に変更の無い#include部分を予めコンパイルしておくと言う事ですから、コンパイル時間が稼げますが、前述したようにstdafx以前のソースコードの変更を無視してくれるので、変なトラブルも起きる事があります。
個人的には嫌いなので、
#include "stdafx.h"行を削除。
stdafx.hファイルを削除。
ワークスペースのFileViewからstdafx.hおよびstdafx.cppを削除。
上記の設定で、pchを使用しない設定に変更。
と、使わないようにしています。
最近のPCの性能だと、コンパイル時間って気にならない事も多いし。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- プリンタ・スキャナー 家のプリンターが今3台目なんですが、あまり使った実感無く、結構すぐ壊れます。 1台目は目詰まりのエラ 10 2023/08/12 18:55
- その他(インターネット接続・インフラ) PCに関してのトラブル 2 2023/04/02 18:52
- その他(パソコン・スマホ・電化製品) 現在、Q-SL2を使用しています。Q-H1を接続しようとすると本体ソフトウェア確認中にエラーが発生し 1 2023/03/04 23:14
- Outlook(アウトルック) outlookの送信エラーについて 1 2022/05/13 12:04
- Excel(エクセル) エクセルのSUM関数について 4 2023/04/18 10:37
- プリンタ・スキャナー Brother MFC-7460DNの一時停止解除について 1 2022/12/03 12:38
- バックアップ linuxのバックアップ 2 2022/04/27 13:38
- オープンソース Python openpyxlを使用したセル番地の使用について 1 2023/08/03 22:05
- Windows 10 2件の中断されたアクション 予期しないエラーのため、ファイルを削除できません。 このエラーが再発する 1 2022/03/27 19:33
- FX・外国為替取引 MQL5にて謎のエラーが発生!だれか対処を教えてください! 1 2023/03/25 15:59
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAを何回も作り直して、容量が...
-
1 つ以上の複数回定義されてい...
-
OpenCVを Borland C++ Builder...
-
<math.h>があるのにsqrtが・...
-
セミコロンについて
-
Makefile作成時の拡張子.oとは?
-
外部シンボル "_main"は未解決です
-
ILSpyで、デコンパイルできない。
-
「fatal error C1189」を回避す...
-
pyc 編集 閲覧
-
エクセルVBAではRound...
-
” OS ビルド ” の意味が分か...
-
戻り値について
-
マクロ コンパイルがグレーバック
-
RPGでプログラムからソースファ...
-
PRO*C コンパイルエラー
-
'strcpy': 識別子が見つかりません
-
コマンドプロンプトで壁にぶち...
-
C++のhppファイルをCでinclude
-
コンパイルエラー:ユーザ定義...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAを何回も作り直して、容量が...
-
<math.h>があるのにsqrtが・...
-
” OS ビルド ” の意味が分か...
-
Makefile作成時の拡張子.oとは?
-
「fatal error C1189」を回避す...
-
1 つ以上の複数回定義されてい...
-
ILSpyで、デコンパイルできない。
-
C言語でヘッダファイルにグロー...
-
エクセルVBAではRound...
-
セミコロンについて
-
マクロ コンパイルがグレーバック
-
C++コンパイル時に『 C1083: in...
-
外部シンボル "_main"は未解決です
-
PRO*C コンパイルエラー
-
コンパイルエラー:ユーザ定義...
-
クリティカルエラー Expressio...
-
ビルドとリビルドの違いを教え...
-
RPGでプログラムからソースファ...
-
戻り値について
-
C++のhppファイルをCでinclude
おすすめ情報