简而言之, 1. 我正在 VC++ 2010 中构建一个 DLL(动态) 2. 我有两个要导出的类 a) 作为基类的 A 类 b) 继承 A 的 B 类 3. 这些在两个单独的文件 ClassA.h 和 ClassB.h 两个实现都在各自的 cpp 文件中,并且在同一个项目下 4. 我在两个头文件中都有以下符号
#ifdef COLLECTIONS_LIB
#define COLLECTIONS_LIB_EXPORT __declspec(dllexport)
#else
#define COLLECTIONS_LIB_EXPORT __declspec(dllimport)
#endif
- A类有一个虚函数,calculate()
- 这两个类在
namespace
CollectionsLib下
现在每当我构建我的警告 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
我只是不明白为什么它向我显示这个错误。为什么是析构函数?
非常感谢任何指导。