C++ Builder 3.0 下编译含有 MFC 的程式 
[摘自 水木清华站 ]


 
虽然说 C++ Builder 3.0 是 Borland C++ 5.02 的下一个版本,一样支援 MFC , 
但若要在C++ Builder 3.0 下使用 MFC 并不简单。不是直接写个 MFC native  
Code 并在 Project Option 中再勾选个 MFC Compatibility 这麽简单,若你只这样 
做,保证你在编译时一定会得到一堆的 Warnning 与 Error。 
 
要让你与 BCB 都能够轻松的编译 MFC ,我们所必需的就是自己动点手脚,并将这个 
动过手脚的 Project 档给放到 Object Repository;之後,你只需要按下选单上的 
 New 就可以开始你的 MFC in BCB之路了。 
 
Step 1、  
 
New 一个新的 Project 
 
Step 2、  
 
在 Directories\Conditionals 这一页的Conditionals\Conditional defines中给 
加入: 
 
_X86_ 
_WINDOWS 
_MSC_VER=1100 
_AFX_PORTABLE 
_AFX_NOFORCE_LIBS 
_MT 
_CRT_PORTABLE 
_AFX_NO_DEBUG_CRT 
 
这几个编译用的参数。 
并记得在 include path 加入 $(BCB)\include\MFC 这一项。 
 
Step 3、 
接著在 Advance Compilers 这一页里将 MFC Compatibility 给勾选起来, 
 
Step 4、 
紧接著,将档案给存起来,里用文字编辑器来修改这个 Project 的 bpr 档。 
找到 CFLAG1 = ...... 这一行 
将这一行给为 
CFLAG1 = -Od -Hc -w -k -r- -y -v -vi- -c -w-par -w-inl -w-hid -w-aus -g0  
                -WM -W 
 
再找到 CFLAG3 = ...... 这一行 
将这一行给为 
CFLAG3 = -Tkh30000 -VF  
 
最後找到 ALLLIB = .... 这一行 
将这一行给为 
ALLLIB = $(LIBFILES) $(LIBRARIES) nafxcw.lib import32.lib cw32mt.lib 
 
 
接著就是存档罗! 
 
Step 5、 
这样一来,就可以直接在BCB3下享用MFC罗! 
 
不可不知道 
 
在此范例中,所编译出来的档案将会是 static link 的版本,并非 dynamic link, 
要怎麽样在 BCB 3 下做 dynamic link MFC library 呢?在此先卖个关子,看看  
BCB 里所附上的范例吧! 
 
此外,在 BCB 有很多方式来链结 VCL 与 MFC,大致可分为两类 : 
 
1、以   TApplication 为主体,而程式中混合使用 VCL与 MFC 所提供的其他类,如 
CDC、CPoint、CFile 等等.....。 
2、以 MFC 的 CApp 为主体,在选单中呼叫 VCL 所组合而成的 Form。 
 
而这两类要怎麽样在 BCB 里完成呢?动动您的脑筋想想看吧! 
 

返回