xh ファイルと yh ファイル、zc ファイルがあります。zc には yh が含まれ、yh には xh が含まれます。yh で他の関数を使用する必要があるため、xh で宣言し、zc で定義する必要がある関数があります。
私はこのようにしてみました
// x.h
int foo();
// y.h
#include "x.h"
// z.c
#include"y.h"
int foo() {
blah;
blah;
return 1;
}
これはすべて1つのプロジェクトに含まれており、x_y.dllで言えば、うまくコンパイルされ、x_y.dll、x_y.libがあります
現在、ac ファイルの 1 つの別のプロジェクト a_b で、xh をインクルードして foo(); を呼び出そうとしています。正常にコンパイルされますが、リンカ エラー lnk2019 および lnk1120 未解決の外部シンボルが発生しています。
私は VS2008 で作業しています。x_y.lib があるフォルダーへのパスが設定されています。