Using MFC 4.2 with Borland C++Builder 4.0 ----------------------------------------- Here are the steps to build the MFC libraries with BCB. We will assume that your copy of Borland C++Builder is located in c:\bcb. 1) Build the Libraries ------------------- Note: the makefile's DEBUG=1 switch enables Diagnostics in the libraries and DBGINFO=1 enables Turbo Debugger information. 1.1) Static Non-Debug library ------------------------ To build the static, non-debug library (NAFXCW.LIB) make -fborland.mak DEBUG=0 LIBDIR=c:\bcb\lib 1.2) Static Debug library -------------------- To build the static, debug library (NAFXCWD.LIB) make -fborland.mak LIBDIR=c:\bcb\lib 1.3) Non-Debug DLLs and Libraries ---------------------------- To build the monolithic MFC DLL (BFC42.DLL, BFC42.LIB, and BFC42S.LIB) make -fbfcdll.mak DEBUG=0 LIBDIR=c:\bcb\lib NOTE: BFC42.DLL contains everything you'll need for MFC in non-debug mode. When building MFC with DEBUG=1, you'll end up with 3 DLLs (see 1.4) 1.4) Debug DLLs and Libraries ------------------------ To build the debug MFC DLLs: BFC42D.DLL, BFC42D.LIB BFCO42D.DLL, BFCO42D.LIB BFCN42D.DLL, BFCN42D.LIB BFCD42D.DLL, BFCD42D.LIB make -fbfcdll.mak LIBDIR=c:\bcb\lib make -fbfcole.mak LIBDIR=c:\bcb\lib make -fbfcnet.mak LIBDIR=c:\bcb\lib make -fbfcdb.mak LIBDIR=c:\bcb\lib 2) Install Libraries and DLLs -------------------------- The libraries that were created should already be in the Borland directory C:\BCB\LIB. Copy the new DLLs (located in this directory) to the Windows System directory, typically C:\WINDOWS\SYSTEM32. 3) Try it out ---------- The MFC examples all contain Borland C++Builder project files (.BPRs) that have the proper defines and switches set for the type of MFC application being built. In case you want to add these into an existing MAKEFILE or otherwise compile at the command line, here is a list of the defines that should be added with -D in a compiler configuration file: MFC 4.2, Static, No OLE: _X86_;_WINDOWS;_MSC_VER=1100;_AFX_PORTABLE;_AFX_NOFORCE_LIBS;_MT; _CRT_PORTABLE;_AFX_NO_DEBUG_CRT; MFC 4.2, Static, OLE: INC_OLE2;_X86_;_WINDOWS;_MSC_VER=1100;_AFX_PORTABLE;_AFX_NOFORCE_LIBS; _MT;_CRT_PORTABLE;_AFX_NO_DEBUG_CRT; MFC 4.2, Dynamic, No OLE: _RTLDLL;_AFXDLL;_DLL;_X86_;_WINDOWS;_MSC_VER=1100;_AFX_PORTABLE; _AFX_NOFORCE_LIBS;_MT;_CRT_PORTABLE;_AFX_NO_DEBUG_CRT; MFC 4.2, Dynamic, OLE: INC_OLE2;_RTLDLL;_AFXDLL;_DLL;_X86_;_WINDOWS;_MSC_VER=1100; _AFX_PORTABLE;_AFX_NOFORCE_LIBS;_MT;_CRT_PORTABLE;_AFX_NO_DEBUG_CRT; The libraries needed to link with are as follows: MFC 4.2, Static, No Diagnostics, No OLE: nafxcw.lib odbc32.lib import32.lib cw32mt.lib MFC 4.2, Static, No Diagnostics, OLE: nafxcw.lib ole2w32.lib odbc32.lib import32.lib cw32mt.lib MFC 4.2, Static, Diagnostics, No OLE: nafxcwd.lib odbc32.lib import32.lib cw32mt.lib MFC 4.2, Static, Diagnostics, OLE: nafxcwd.lib ole2w32.lib odbc32.lib import32.lib cw32mt.lib MFC 4.2, Dynamic, No Diagnostics, No OLE: bfcs42.lib bfc42.lib odbc32.lib import32.lib cw32mti.lib MFC 4.2, Dynamic, No Diagnostics, OLE: bfcs42.lib bfc42.lib ole2w32.lib odbc32.lib import32.lib cw32mti.lib MFC 4.2, Dynamic, Diagnostics, No OLE: bfcs42d.lib bfc42d.lib bfco42d.lib bfcn42d.lib odbc32.lib import32.lib cw32mti.lib MFC 4.2, Dynamic, Diagnostics, OLE: bfcs42d.lib bfc42d.lib bfco42d.lib bfcn42d.lib ole2w32.lib odbc32.lib import32.lib cw32mti.lib NOTE: When building from the command line remember to use the -VF switch