vs2010的mfc 程序已经做好 怎么把他封装成动态库
vs2010的mfc 程序已经做好需要将 MFC 中的类 封装 为一个Dll并导出。
将 MFC 中的类 封装 为一个Dll并导出 封装 Dll类 打开VC6.0,file->new->Projects-> MFC AppWizard [dll],输入Project name 为pipeDll。
下一步,选择 MFC Extension DLL(using shared MFC DLL),features选择. MFC 应用 程序 打包。
从库的创建到调用过程。MFC封装功能成动态库相关问题汇总记录
基本的创建过程可以从很多地方查询得到,这里主要记录在VS2017 Debug X86开发过程中发生的各种异常问题解决。
无法定义 dllimport 实体 Password。
使用AFX_EXT_CLASS定义声明类。
注意在项目属性->C/C+±>预处理器中,预处理器定义_AFXEXT;删除_USRDLL。
调用动态库显示动态库窗体得到句柄为空且无法显示窗体。
_USRDLL:静态方式链接MFC库,这样子的话本身MFC的库中带有_DllMain函数的定义。
_AFXDLL:动态方式链接到MFC库,这样子的话,调用侧dll需要自己定义_DllMain入口函数。
可知需要定义_DllMain入口函数,在此我创建dllmain.cpp文件来定义_DllMain入口函数。