VSはプリコンパイル済みヘッダーを使用するのが好きなので、前提条件に違反していないことを確認してください。問題の原因の1つは、stdafx.h
を含む行の先頭にあるすべてのヘッダーに名前を付けることです。
ヘッダーがプリコンパイルされていない場合でも、株式ヘッダーの定義とうまくやりとりするものを誤って定義している可能性があります。 stdio.hを見ると、いくつかの異なるプラットフォームに同じファイルが配布されているので、いくつかの興味深い条件付きコンパイルセクションがあることがわかります。プロジェクトの設定を確認し、特定のソースファイルをコンパイルするときにのみ問題が発生している場合は、そのファイルのコンパイル設定も確認してください。
それは...
#include <stdio.h>
int main(int argc, char **argv) {
printf("hello, world.\n");
return 0;
}
新しいプロジェクトを開始し、古き良きのhello.cをコンパイルすることができるかどうかをチェック確かに価値があるではない場合、その後、あなたのVSのインストールと真剣に何か問題があります。
別のコンパイラがインストールされていて、別のstdio.h
を使って何らかの形でVSが発生している場合は、他の可能性はありますが、問題は発生しません。不適切なINCLUDE環境変数が、最近のバージョンではそうは確かではありません。私はずっと前にそれを燃やしてしまいました。それ以来、個々のコンパイラがどのような変数を設定したのかをはるかに注意しています。
エラーメッセージとそれを再現する最小限のコード例を投稿できますか?私の推測では、プリプロセッサ定義のいくつかは間違っている/重複している/設定されていないが、それはちょうど推測です。 –
はい、Visual Studioには、プリプロセッサの定義とファイルごとの設定が含まれるプロジェクト設定があります。 –
stdio.hを含むファイルの内容を投稿してください(または同じ問題がある切り捨てられた例) – jalf