共用头文件:
Object.h
#ifndef __OBJECT_H__ #define __OBJECT_H__ class Object { public: Object() {} virtual ~Object() {} virtual int Dump() = 0; }; #endif //__OBJECT_H__
插件部分:
插件的名字:testPlugin1.dll
TestObject.h
#pragma once #include "../use/Object.h" // 下列 ifdef 块是创建使从 DLL 导出更简单的 // 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 TESTPLUGIN1_EXPORTS // 符号编译的。在使用此 DLL 的 // 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将 // TESTPLUGIN1_API 函数视为是从 DLL 导入的,而此 DLL 则将用此宏定义的 // 符号视为是被导出的。 #ifdef TESTPLUGIN1_EXPORTS #define TESTPLUGIN1_API __declspec(dllexport) #else #define TESTPLUGIN1_API __declspec(dllimport) #endif /****************************************************************/ // 此类是从 testPlugin1.dll 导出的 class TESTPLUGIN1_API TestObject : public Object { public: virtual int Dump(); // TODO: 在此添加您的方法。 }; extern TESTPLUGIN1_API int ntestPlugin1; TESTPLUGIN1_API int fntestPlugin1(void);