如何在 C++ Builder 3.0 下编译含有 MFC 的程序 ?

    技术2022-05-11  129

    如何在 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

    Project Option里的 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 里完成呢?聪明的读者,动动您的脑筋想想看吧!

     

     

     

     


    最新回复(0)