1、用Code::Blocks编译MFC程序不成功的一个主要原因是缺少.h头文件和.l坡纠课柩ib导入库文件,所以第一步就是收集蕺清寤凯VC++6.0中的这些文件。那么这些文件存放在哪里呢,可用这样查看这些文件的路径:打开VC++ 6.0,tool菜单>options...菜单>有个Directories选项卡,分别可以看到Include目录、Lib目录。因为我的VC++ 6.0安装在C盘,所以这些文件的路径如下:Include files:C:\Program Files\Microsoft Visual Studio\VC98\IncludeC:\Program Files\Microsoft Visual Studio\VC98\MFC\IncludeC:\Program Files\Microsoft Visual Studio\VC98\ATL\Includelibrary files:C:\Program Files\Microsoft Visual Studio\VC98\LIBC:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB
2、熟悉C++的朋友们都知道,光有.h文件是不够的,还要有相应的.cpp文件,所以第一步里面那个Di筠续师诈rectories选项卡下面有个source files选项我们也需要看一下:Source Files:(在我使用的VC++ 6.0上面就是这个样子)C:\Program Files\Microsoft Visual Studio\VC98\MFC\SRCC:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDEC:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDEC:\Program Files\Microsoft Visual Studio\VC98\CRT\SRC第一步和这一步的目录直接进行复制,然后收集起来,按照VC++6.0的目录结构放在一个目录下,比如E:\DevCommon\VC98。
3、我把这些文件收集在了我的百度云里面,链接:http://pan.baidu.com/s/1o7Hmo22 密码:cq28。把这些文件下载下来,就先解压在E盘吧。这些目录的路径就类似于这样:E:\DevCommon\VC98\IncludeE:\DevCommon\VC98\MFC\Include
4、下面就直接在Code::Blocks里面设置就可以了,这里我用的是Code::Blocks特别版,这个版本是个绿色版,解压后即可使用。而且最主要的是它带有VC10编译器(因为是编译MFC程序嘛,VC10的优化好一些吧,我猜的),它的百度云分享下载链接在这里:http://pan.baidu.com/s/1pLJ2rBd 密码:3w6w
5、接下来打开Code::Blocks,首先设置诔罨租磊Include目录,用Settings -> Compiler and debugger菜单打开“潮贾篡绐Compiler and debugger settings”对话框。注意这里在Selected compiler这里选择Microsoft Visual C++ 2010编译器。然后切换到Search directories选项卡,下面有个Compiler分选项卡,点击Add按钮,选择刚才解压的Include目录,就可以添加一条。如图所示,我们要分别添加:E:\DevCommon\VC98\IncludeE:\DevCommon\VC98\MFC\IncludeE:\DevCommon\VC98\ATL\Include
6、接着设置Code::Blocks里面的Linker,还是刚才Settings -> Compiler and debugger菜单打开的“Compiler and debugger settings”对话框,Search directories选项卡,这次是Linker分选项卡,依然是Add按钮,如下图所示,我们要分别添加:E:\DevCommon\VC98\LibE:\DevCommon\VC98\MFC\Lib
7、最后的这一步一定不能少,那就是设置资源编译器的Include目录,还是Compiler and debugger settings”对话框Search directories选项卡,选择Resource compiler分选项卡,这次添加的Include目录和Compiler分选项卡一样的内容,分别是:E:\DevCommon\VC98\IncludeE:\DevCommon\VC98\MFC\IncludeE:\DevCommon\VC98\ATL\Include虽然一样,但也是必须添加的,不然编译.rc文件的时候会报错,如下图所示:
8、在最后,试验一下成果:在Code::Blocks里面新建一个Win32 GUI p筠续师诈roject,注意编译器选择Microsoft Visual C++ 2010编译器,然后把main.cpp和resource.rc文件从工程中去掉(方法是右键文件,选择Remove file from project)。再把VC++6.0 MFC工程里面的.cpp文件和.h文件和.rc文件以及res目录,复制到Code::Blocks新建的空工程的文件夹下面,再在Code::Blocks中把这些文件一个不少的添加到空工程里面去(方法是在Code::Blocks左边的树形窗口中,右键新建的工程的工程名,选择Add files...,选择拷贝过来的文件),然后就可以编译成功MFC源代码了。至此就成功的在Code::Blocks里面使用MFC了。