MFC exe项目封装成DLL

一言以蔽之:给原项目包层接口。

具体实现:

  1. 新建一个MFC的DLL项目(MyDll);
  2. 删除MyDll项目的.rc文件;
  3. 将正常运行的exe项目(MyExe)的所有文件包括.h,.cpp,.rc和资源文件等复制到MyDll项目,MyExe.rc文件重命名为MyDll.rc
  4. 删除原实例化WinApp的.cpp类及其头文件,(一般名称为MyExe.cpp和MyExe.h);将所有对它的引用改成MyDll.h;(不做这一步会产生datacore.cpp line:380的错误);
  5. 在MyDll.cpp添加代码:
  6. extern "C" __declspec(dllexport) void ShowDlg(void)  
    //void ShowDlg(void)
    {  
    
    AFX_MANAGE_STATE(AfxGetStaticModuleState());//为了保证代码准确防止调用失败
    CFileBrowserDlg dlg;  
    dlg.DoModal();  
    
    }

  7. 选择生成方式,dllexport或者def(需要去掉extern “c” _decispecl(dllexport))编译即可生成MyDll.lib和MyDll.dll文件;
  8. 在其他项目需要的地方引用这两个文件即可。
  • 0
    点赞
  • 9
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页
评论

打赏作者

阿峰不想搬砖

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值