首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

关于导出DLL的有关问题i

2012-01-13 
关于导出DLL的问题i我想把原来写的模块封装成DLL,该模块由一组相互关联或不关联的类组成,还有一些支持类工

关于导出DLL的问题i
我想把原来写的模块封装成DLL,该模块由一组相互关联或不关联的类组成,还有一些支持类工作的结构体和宏。创建DLL工程以后,我将每个类的.h和.cpp文件添加到DLL工程,每个类的声明部分都添加了导出说明EASYANALYSISDLL_API,现在我希望在调用lib的时候只包含一个头文件就能使用所有的类。我尝试在DLL中DllMain函数对应的头文件中包含所有的头文件,然后把该文件包含在要调用lib的程序中,可是编译出了个莫名其妙的错误:
OnSysCommand' : overloaded member function 'void (int,long)' not found in 'CDllTestDlg'
关于导出DLL的问题
去掉这个头文件编译就没问题。。。
请问像我需要的这种情况,正确的导出方式是什么?

#define DEF_FLAG_EASYANALYSISDLL
#ifdef EASYANALYSISDLL_EXPORTS
#define EASYANALYSISDLL_API __declspec(dllexport)
#else
#define EASYANALYSISDLL_API __declspec(dllimport)
#endif


#if !defined(DEF_FLAG_GLOBLE_DEF)
#include "globle_def.h" //该文件中包含了所有类、结构体、宏的.h头文件
#endif

class EASYANALYSISDLL_API CBmp; //声明每个类,类的具体定义和实现分别在与其对应的.h和.cpp头文件中,该头文件
...... //被包含在globle_def.h中
......

[解决办法]
CDllTestDlg中有个函数使用有问题

热点排行