SourceForgeからC++アプリケーション(HoboCopy、好奇心が強い人)のコピーをチェックアウトし、コンパイルしようとしました。
Visual Studioは、特定のヘッダーファイルが見つからないと言っています。ソースツリーでファイルを見つけましたが、コンパイル時に見つけられるようにどこに置く必要がありますか?
特別なディレクトリはありますか?
Visual Studioは、次の順序でヘッダーを探します。
あなたの場合、ヘッダーがあるプロジェクトプロパティにディレクトリを追加します(Project Properties→Configuration→C/C++→一般→追加のインクルードディレクトリ)。
実際、Visual Studio 2017コミュニティのあるWindows 10では、C++ヘッダーパスは次のとおりです。
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt
1番目には、<iostream>
、<algorithm>
などの標準C++ヘッダーが含まれます。 2番目には、<stdio.h>
、<string.h>
などの古いCヘッダーが含まれます。バージョン番号は、ソフトウェアに応じて異なる場合があります。
これが役立つことを願っています。
プロジェクトにVisual Studioプロジェクトファイルが付属している場合は、ヘッダーが見つかるように既に構成されているはずです。そうでない場合は、プロジェクトを右クリックして[プロパティ]を選択し、[C/C++]をクリックし、インクルードファイルを含むディレクトリを[追加のインクルードディレクトリ]に追加して、インクルードファイルディレクトリをプロジェクト設定に追加する必要があります編集ボックス。
これを 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
(おそらくマイクロソフト推奨ではありません。)
Visual Studio 2015コミュニティにはバグがあるようです。 64ビットプロジェクトの場合、win32ビット構成追加のインクルードフォルダーリストにない限り、インクルードフォルダーは見つかりません。
問題を解決するために、より良い質問をしている新しい質問があります 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でも同じように実行し、すべてが正常に行われます。
同様にそれを行う理由の詳細については、私の答え there を参照してください。