VS9で確認(古いなんて言わないでっ(˘ω˘))
問題
たくさんのプロジェクトを含んだソリューションがある
└─ソリューション
├─IncPrj
│ └─Inc.h
└─BuildPrj
└─Build.c
BuildPrjに含まれるBuild.cでは、
Inc.h内で定義した関数を呼び出している。
Inc.hは、
実際に置かれているパスが
プロジェクトの[プロパティ] > [C/C++] > [全般] > [追加のインクルードディレクトリ]に追加してあるため
Build.cでの #include <Inc.h>
はエラーになっていない。
しかし、BuildPrjをビルドしようとすると、
未解決の外部シンボル ‘symbol’ が関数 ‘function’ で参照されました。
エラーが出る。
原因
対象がビルドに含まれていなかったから。
(.hが読み込めていても、ビルドはまた別問題。)
解決策
[プロジェクト(P)] > [プロジェクトの依存関係(S)…] で
プロジェクトのプルダウンからBuildPrjを追加し、
依存先欄で、IncPrjにチェックを入れる。
結構長い時間悩んだけど、先輩に聞いたら5秒で解決したやい。
コメント