次のように私はプロジェクトのUtilsでクラスを持っている:未解決の外部シンボルのリンクエラー
Maths.h
class __declspec(dllexport) Maths
{
public:
static const double c_epsilon;
...
}
Maths.cpp
const double Maths::c_epsilon = DBL_EPSILON;
私はこのクラスを使用する(多くの)他のプロジェクトを持っています(そして、c_epsilon c onstant)。
ほとんどすべての他のプロジェクトをビルドすると、リンク問題なし...しかし、カップルがエラーで失敗:
LNK2001 unresolved external symbol "__declspec(dllimport) public: static double const Maths::c_epsilon" ([email protected]@@2NB)
2失敗したプロジェクトは、両方のGoogleテストプロジェクトであり、実行可能ファイルを生成する以外(の代わりに、 DLL)は、他のすべてのプロジェクトと同じように設定されているようです。
失敗したプロジェクトは、間違いなくUtils.libファイルを指定します。
これはプロジェクト設定上の問題(他のプロジェクトは問題ありません)だと思いますが、問題を解決するための設定が見つかりません。
ソリューション内のバイナリ間の依存関係を定義していますか? –
@KirillKobelevはい、ありがとうございます。 – grae22
AFAIK .libファイルを指定する必要はありません。 Libファイルは、ソリューションの一部ではないDLLに使用する必要があります。 –