将MFC资源文件打包成dll
项目中经常会遇到主程序的资源文件是在一个dll中,就是把资源文件部分任务提取出来,比如添加各种语言的字符串,各种图标,各种版本的Dlg或者Menu等等。改好之后,只需要build下就可以生成包含各种资源文件的dll,主程序只需要去调用这个dll即可。
在软件工程中,很多项目都要这样做,因为资源和逻辑分离,这样就可以做到低耦合。
下面开始介绍如何将MFC多文档程序的资源文件打包成dll:
- 创建MFC程序,工程名为Main,然后一直点下一步,就创建好了一个多文档应用程序。
- 删除该工程的Resource.h和Main.rc,注意:这里是Remove不是Delete,VC6.0删除只是从工程中删除,文件还在;VS2005以上版本会提示Remove还是Delete。
- 在当前工程中添加一个MFC扩展Dll项目,工程名为Main_Res;
- 删除Resource Files下所有文件(Remove即可),删除Resource.h(Delete);然后Copy主程序Main的Res到Main_Res的Res中;右键Header Files,Add Existing Item,选择Main中的Resource.h,右键Resource Files,Add Existing Item,选择Main中的Main.rc。
- 编译Main_Res项目,生成Main_Res.dll;
- 在Main项目中,Main.h中include的Resource.h