
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を探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ILSpyで、デコンパイルできない。
-
エクセルVBAではRound...
-
Makefile作成時の拡張子.oとは?
-
lccコマンドについて
-
C言語でヘッダファイルにグロー...
-
セミコロンについて
-
” OS ビルド ” の意味が分か...
-
「fatal error C1189」を回避す...
-
便利なライブラリorテクニック
-
VBAを何回も作り直して、容量が...
-
外部シンボル "_main"は未解決です
-
Fortran : 複数の.fファイルの...
-
分割ファイルのコンパイル
-
漢字のコメントをはずすとコン...
-
VS2010でLibHaruをビルドした...
-
Mac C Undefined x86_64
-
共有ライブラリの関数はヘッダ...
-
Windows7のコマンドラインでのn...
-
コンパイルエラー:ユーザ定義...
-
OBJファイルが開けません
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
” OS ビルド ” の意味が分か...
-
VBAを何回も作り直して、容量が...
-
エクセルVBAではRound...
-
C言語でヘッダファイルにグロー...
-
1 つ以上の複数回定義されてい...
-
「fatal error C1189」を回避す...
-
Makefile作成時の拡張子.oとは?
-
外部シンボル "_main"は未解決です
-
<math.h>があるのにsqrtが・...
-
ILSpyで、デコンパイルできない。
-
クリティカルエラー Expressio...
-
【VC++6.0(MFC)】警告「LINK : ...
-
マクロ コンパイルがグレーバック
-
セミコロンについて
-
複数のサブディレクトリを一緒...
-
C言語のコンパイルができません
-
PRO*C コンパイルエラー
-
ExcelVBAで『ByRef 引数の型が...
-
コンパイルエラー:ユーザ定義...
-
プリコンパイルエラーについて
おすすめ情報