web-dev-qa-db-ja.com

C1083:インクルードファイルを開けません:math.h:そのようなファイルまたはディレクトリはありません

私にはこれらのエラーがたくさんあり、行き止まりにいます。

グーグルでたくさんの答えを見つけましたが、残念ながらどれもうまくいきませんでした

Visual Studio 2012を使用しています。

それが見つけることができないと言っているすべてのファイルはこのフォルダの私のコンピュータにあります

C:\Program Files\Microsoft Visual Studio 11.0\VC\include

Includeステートメントを右クリックして[ドキュメントを開く]をクリックしても、ドキュメントが表示されるので、そこに明確に表示されます。

オプションの[追加ディレクトリ]フィールドにもディレクトリを追加しようとしましたが、解決しませんでした。

Includeステートメントをフルパスで使用すると、次のようになります。

#include <C:\Program Files\Microsoft Visual Studio 11.0\VC\include\math.h>

次に動作しますが、math.hファイルにincludeステートメントがある場合は、それらへのパスも追加する必要があります。

何が起こっているのか、他に何ができるのか?

編集:新しいプロジェクトを最初から作成して作成し、それが役立つかどうかを確認します。必要のない設定に触れた可能性があります

9
Mr Dog

プロジェクトを右クリックし、[プロパティ]に移動して、[VC++ディレクトリ]に移動し、[インクルードディレクトリ]のエディターを開きます。 「親またはプロジェクトのデフォルトから継承」というラベルの付いたチェックボックスが表示されます。 Visual Studioにはいくつかの定義済みディレクトリが含まれていることがわかります。

ボックスが既にチェックされていて、Visual Studioがディレクトリを見つけていない場合は、これらのディレクトリを自分で追加してみてください。

$(VCInstallDir)include
$(VCInstallDir)atlmfc\include
$(WindowsSDK_IncludePath)
9
Simple

以下は、いくつかの点で正しくありません。

#include <C:\Program Files\Microsoft Visual Studio 11.0\VC\include\math.h>

\...はいわゆるエスケープシーケンスを開始するため、特別なトークン\P\M\V\i\mを文字列ですが、たとえば改行文字を示す\nとは異なり、これらは有効なエスケープシーケンスとしては存在しません。これは、一貫してスラッシュを使用することで修正できます。

#include <C:/Program Files/Microsoft Visual Studio 11.0/VC/include/math.h>

ただし、math.hは標準ヘッダーです。標準ヘッダーの場合、完全なパスは記述しません。非標準ヘッダーの場合は、プロジェクトのセットアップにinclude-pathを追加し、フルパスも書き込まないでください。

#include <math.h>

次に:CではなくC++を使用します。Cヘッダーに相当するC++の場合、通常、.h拡張が削除され、前にcが追加されます。

#include <cmath>
5
Sebastian Mach

私は同じ問題を抱えていましたが、私の解決策は、ファイル名を山括弧の代わりに引用符で囲むことでした。

したがって、「dog.h」の代わりに「dog.h」は「ファイルが見つかりません」の問題を解決しました。

2
Gürkan Çetin