- 締切済み
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ライブラリが使えるように設定を変えたこともあります。 どこの何を変えたかは忘れてしまいましたけど。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- jukiaa
- ベストアンサー率0% (0/0)
#include "stdafx.h" と最初に書けば動きますよ。 #include "stdafx.h" の中に #include <stdio.h> が入っています。 そのため#include <stdio.h>は消してしまってかまいません。
- Oh-Orange
- ベストアンサー率63% (854/1345)
★アドバイス ・プロジェクトを作成するとき『OK』ボタンを押す前に 『アプリケーションの設定』に切り替え『空のプロジェクト(E)』に チェックしてから『OK』ボタンを押します。 ・これで『プリコンパイル済みヘッダ』などの不要なファイルが自動的に 作成されなくなります。C言語の学習の為の『hello!』ならこの方法が お勧めです。これで普通に#include文だけで良くなります。 ・Windowsプログラミングの場合には『プリコンパイル済みヘッダ』を 使えば良いでしょう。
- redfox63
- ベストアンサー率71% (1325/1856)
# 分からないことは調べる癖をつけましょう プリコンパイルは毎回すべてのヘッダーやソースをチェックしなくても済むようにあらかじめコンパイルされた物を準備する機能です Windowsにはたくさんのヘッダーファイルを使用します、これらのWindows標準のヘッダーはほとんど変更されることはありません プロジェクトの初回ビルド時にコンパイルすれば次回からはこのコンパイルされた物を使用すれば十分という考え方です もともとのエラーはプロジェクトの作成方法に起因しているように感じられます
お礼
そうだったんですか! ご返答と説明、ありがとうございます。
- rinkun
- ベストアンサー率44% (706/1571)
このエラー、MSVCではバージョン4くらいでもよく見たような。 プロジェクトを作るときにコマンドラインアプリケーションとして作ってますか? MFCベースのアプリケーションだとプロジェクト作成時にstdafx.hを作ってプリコンパイルして使っているんです。これを消したりするとエラーが出ます。また全ての.cppファイルでstdafx.hをインクルードする必要があります。 新規にコマンドラインアプリケーションのプロジェクトを作って、その中でプログラムを作ってみて下さい。 それでもエラーが出るなら開発環境が壊れている可能性もあるので、Visual C++ 2008を一度アンインストールして、再度インストールして下さい。
補足
なんとか解決しましたが、コマンドラインアプリケーションやプリコンパイルの意味が分かりませんでした…。 出来ればこれの説明、お願いします。 コマンドラインインタプリタなら分かりますけど。
- redfox63
- ベストアンサー率71% (1325/1856)
一般的なインストールなら 『C:\Program Files\Microsoft Visual Studio 9\VC\include』 あたりに stdio.h はあると思います
お礼
あ、ありました! ご返答ありがとうございます。 なんとか解決できましたが、またこれと関係するエラーが起きそうなので、まだ締め切りをしません。
お礼
本当だ…。 アドバイスありがとうございます!