回答:
別のプロジェクトからヘッダーファイルを#includeするプロジェクトでは、プロジェクト構成の[ 追加のインクルードディレクトリ]セクションにヘッダーファイルのパスを追加する必要があります。
プロジェクト構成にアクセスするには:
ヘッダーファイルを含めるには、コードに次のように記述します。
#include "filename.h"
ここではパスを指定する必要がないことに注意してください。追加のインクルードディレクトリに既にディレクトリが含まれているので、Visual Studioはそれを探す場所を認識します。
プロジェクト設定ですべてのヘッダーファイルの場所を追加したくない場合は、ポイントまでのディレクトリを含め、そのポイントに相対的な#includeを実行することができます。
// In project settings
Additional Include Directories ..\..\libroot
// In code
#include "lib1/lib1.h" // path is relative to libroot
#include "lib2/lib2.h" // path is relative to libroot
静的ライブラリ(つまり.libファイル)を使用している場合は、リンカ入力にライブラリを追加して、リンク時にシンボルをリンクできるようにする必要があります(そうしないと、未解決のシンボルが表示されます)。
#include "proj2\include.h"
。ソリューションごとに複数のプロジェクトを使用することは、非常に異なる方法で使用されるため、NET言語に向けられているようです。しかし、C ++プロジェクトでこれを克服するための優れた方法を見つけることはできません。
両方のプロジェクトは同じソリューションの下にあるため、https://docs.microsoft.com/en-us/cpp/build/adding-references-in-visual-cpp-で説明されているように、インクルードファイルとリンカーのより簡単な方法があります。 projects?view = vs-2019:
#include "../libProject/libHeader.h"
。プロジェクトのプロパティでヘッダーへのパスを設定して、コンパイラーがヘッダーファイルを見つけようとするときにそこを探す必要があります。正確な場所を思い出すことはできませんが、プロジェクトのプロパティを見れば、それが表示されるはずです。
@Benavの答えを拡張して、私の推奨するアプローチは次のとおりです。
$(SolutionDir)
インクルードディレクトリに追加するこれで、次のように参照プロジェクトのヘッダーを含めることができます。
#include "OtherProject/Header.h"
ノート:
#include
が、正しいビルドの依存関係を設定します。これはおそらく必要です。