0

非常に簡潔にするために、 1. VC++ 2010 で DLL (動的) を構築しています 2. エクスポートしたい 2 つのクラスがあります a) 基本クラスであるクラス A b) A を継承するクラス B 3. これらは2 つの別個のファイル ClassA.h と ClassB.h 両方の実装はそれぞれの cpp ファイルにあり、同じプロジェクトの下にあります 4. 両方のヘッダー ファイルに次のシンボルがあります

#ifdef COLLECTIONS_LIB
#define COLLECTIONS_LIB_EXPORT __declspec(dllexport)
#else
#define COLLECTIONS_LIB_EXPORT __declspec(dllimport)
#endif
  1. クラス A には、calculate() という 1 つの仮想関数があります。
  2. これら 2 つのクラスは、namespaceCollectionsLibの下にあります。

ビルドするたびに、警告 LNK4217

locally defined symbol ??ClassA@CollectionsLib@@QAE@XZ (public: __thiscall CollectionsLib::Class::~Class(void)) imported in function __unwindfunclet$??0ClassA@CollectionsLib@@QAE@V?$Point_@H@cv@@HHV?$Scalar_@N@3@HI@Z$0

このエラーが表示される理由がわかりません。なぜデストラクタ?

どんなガイダンスも大歓迎です。

4

1 に答える 1