1. ホーム
  2. c++

[解決済み] [Solved] インクルードファイルが開けません。'stdio.h' - Visual Studio Community 2017 - C++ Error

2022-01-25 14:36:47

質問

Visual Studio Community 2017でSolutionをBuildしようとしているのですが、"というエラーが出続けています。 インクルードファイルが開けません。'stdio.h' "です。同じような質問をいくつか読みましたが、まだこの問題を解決することができません。どうやら stdio.h ファイルが呼び出されるのは stdafx.h ファイルを作成します。以下はその詳細です。何かご意見はありますか?(まだ画像を埋め込むことができないので、スクリーンショットはリンクをクリックしてください)

システムの詳細 Windows 10
Visual Studio Community 2017 v.15.2 (26430.6)
-- C++によるデスクトップ開発のインストール( 画面はイメージです。インストール一覧 )


ステップ1: 有名なHello WorldのプログラムをC++で書きました。

#include "stdafx.h"
#include <iostream>
using namespace std;

int main()
{
    cout << "Hello World!" << endl;
    return 0;
}

ステップ2: Build > Build Solutionをクリックしました。

問題あり。 'stdio.h' : そのようなファイルやディレクトリはありません . 完全なエラーです。

1>------ Build started: Project: HelloWorld, Configuration: Debug Win32 ------
1>stdafx.cpp
1>c:\users\dahiana mini\desktop\learncpp\helloworld\helloworld\stdafx.h(10): 
    fatal error C1083: Cannot open include file: 'stdio.h': No such file or directory
1>Done building project "HelloWorld.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


トラブルシューティングの詳細/試したこと

  1. 設定プロパティ > VC++ ディレクトリ
    Include Directories $(VC_IncludePath);$(WindowsSDK_IncludePath);
  2. スクリーンショットです。ソリューションエクスプローラー(プロジェクト内のファイル)
  3. のコード stdafx.cpp ファイルを作成します。

    // stdafx.cpp : source file that includes just the standard includes  
    // HelloWorld.pch will be the pre-compiled header
    // stdafx.obj will contain the pre-compiled type information
    
    #include "stdafx.h"
    
    // TODO: reference any additional headers you need in STDAFX.H
    // and not in this file
    
    
  4. のコード stdafx.h ファイルを作成します。

    // stdafx.h : include file for standard system include files,
    // or project specific include files that are used frequently, but
    // are changed infrequently
    
    #pragma once
    
    #include "targetver.h"
    #include <stdio.h>
    #include <tchar.h>
    
    

    #include に対して <stdio.h><tchar.h> の下に赤い線が表示され、「ソースファイルを開くことができません。
    TRIED: 最後の2行を削除してみましたが、そうすると、さらにエラーが発生しました。

  5. TRIED: stdafx.hは必要ないという意見が多かったので、最初の行だけ削除してみました。 #include "stdafx.h" . しかし、これを動作させるためには、もう少し工夫が必要でした。 下記の回答をご覧ください。

解決方法は?

この問題を解決するには、3つの方法があります。

  1. プリコンパイルされたヘッダを無視する #1
    ステップ プロジェクト > プロパティ > 設定プロパティ > C/C++ > コマンドライン > 追加オプションのボックスに /Y- を追加します ( プロパティページのスクリーンショット ) > Ok > 削除 #include "stdafx.h"
  2. プリコンパイルされたヘッダを無視する #2
    ステップ File > New > Project > ... > Application Wizard Windowで、Next > Precompiled Headerのチェックを外す > Finish > Removeをクリックします。 #include "stdafx.h"
  3. Visual Studioの再インストール
    これは私にも有効で、もしかしたら私のWindows SDKに何か問題があるのかもしれないと気づいたからです。私はWindows 10を使用していましたが、Windows SDKは8.1でした。この問題はあなたも抱えているかもしれません。
    ステップス Visual Studioのインストーラーを開き、三本線のメニューバーをクリックします。

    初めてVisual Studioをインストールしたとき、Windows SDK 8.1をインストールする必要があるというエラーが表示されることがありました。そこで、Visual StudioインストーラーのModifyオプションからインストールを行った。おそらく、Visual Studioがインストールされた後にインストールしたためか、あるいは代わりにSDK 10が必要だったため、この問題が発生したのだと思います。念のため、完全な再インストールを行いました。