SourceForge から C++ アプリケーションのコピーをチェックアウトし (興味があれば、HoboCopy を参照してください)、それをコンパイルしようとしました。
Visual Studio から、特定のヘッダー ファイルが見つからないというメッセージが表示されます。ソースツリーでファイルを見つけましたが、コンパイル時に見つけられるようにするには、どこに置く必要がありますか?
特別なディレクトリはありますか?
SourceForge から C++ アプリケーションのコピーをチェックアウトし (興味があれば、HoboCopy を参照してください)、それをコンパイルしようとしました。
Visual Studio から、特定のヘッダー ファイルが見つからないというメッセージが表示されます。ソースツリーでファイルを見つけましたが、コンパイル時に見つけられるようにするには、どこに置く必要がありますか?
特別なディレクトリはありますか?
Visual Studioは、次の順序でヘッダーを検索します。
この場合、ヘッダーのディレクトリをプロジェクトのプロパティに追加します([プロジェクトのプロパティ] → [構成] → [ C / C ++ ] → [一般] → [追加のインクルードディレクトリ])。
プロジェクトにVisualStudioプロジェクトファイルが付属している場合は、ヘッダーを検索するように既に構成されている必要があります。そうでない場合は、プロジェクトを右クリックして[プロパティ]を選択し、[C / C ++]をクリックして、インクルードファイルを含むディレクトリを[追加のインクルードディレクトリ]に追加することにより、インクルードファイルディレクトリをプロジェクト設定に追加する必要があります。編集ボックス。
Visual Studio 2015 コミュニティにバグがあるようです。64 ビット プロジェクトの場合、win32 ビット構成の [追加のインクルード フォルダー]リストにない限り、インクルード フォルダーは見つかりません。
How do include paths work in Visual Studio?という新しい質問があります。
VisualStudioの新しいバージョンでそれを行う方法が明らかになりつつあります
2つ目は、上記のSteve Wilkinsonの回答が説明していることです。彼が想定していたように、Microsoftが推奨するものではありません。
ここで簡単に言うと、実行しますが、次のユーザー ディレクトリで実行します。
C:\Users\UserName\AppData\Local\Microsoft\MSBuild\v4.0
XMLファイルで
Microsoft.Cpp.Win32.user.props
および/または
Microsoft.Cpp.x64.user.props
C:\program files - ディレクトリではなく、変更されていない Microsoft の Factory-File が存在すると予想されます。
次に、VisualStudio と同じように実行します。すべてが規則的です。
なぜ同じようにするのかについては、私の答えを参照してください。
これをRob Prouseの投稿へのコメントとして追加しようとしましたが、書式設定がないためにわかりにくかったです。
Visual Studio 2010 では、[ツール | オプション | プロジェクトとソリューション | VC++ ディレクトリ] ダイアログに、「[ツール] > [オプション] で編集する VC++ ディレクトリは廃止されました」と報告され、やや直感に反するプロパティ マネージャーを使用することを提案します。
本当にデフォルトの $(IncludePath) を更新したい場合は、XML ファイルのいずれかで適切なエントリをハックする必要があります。
\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\PlatformToolsets\v100\Microsoft.Cpp.Win32.v100.props
また
\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\x64\PlatformToolsets\v100\Microsoft.Cpp.X64.v100.props
(おそらく、Microsoft が推奨するものではありません。)