X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6bcfd974ef26faf6f91a62cac09827e09463fd1..a9c3b09ee60c45f6980e8cf61c7f6e6715322353:/docs/tech/tn0004.htm diff --git a/docs/tech/tn0004.htm b/docs/tech/tn0004.htm index 59fd68658e..b0045ba273 100644 --- a/docs/tech/tn0004.htm +++ b/docs/tech/tn0004.htm @@ -1,218 +1,19 @@ - + - - - - Compiling wx Samples in the Borland IDE + + + + Compiling wx Samples in the Borland IDE -

-Compiling wxWindows samples with the Borland CBuilder

- -This document is available online here.

- -

-Before you begin

-This refers to the 2.1.15 wxWindows distribution. It is my account of trying -to compile the samples so I can use the Borland IDE to edit/compile/debug. -I have used CBuilder 1.00 (2 patches, nice and fast) CBuilder 3 (slower) -and CBuilder 4 (only occasionally) -

Make sure that the wx distribution is extracted to a path with no spaces -in it, and preferably on the root of your drive. Borland's compilers sometimes -have problems with spaces and with the long paths which occur if you try -to place it in a tree like d:\compiler\gui\wx... -

-Part 1 Build the library

-Build the wx\wx32.lib and related files using the command line compiler -
Run a command prompt in the wx/src/msw directory and type -

set wxwin=pathtowx -
set bccdir=pathtobc4 -
make -f makefile.b32 -

In my case this I extracted the wx distribution in c:\ and the -compiler is in w:\borland\cb\bin so this looks: -

set wxwin=c:\wx -
set bccdir=w:\borland\cb -
make -f makefile.b32 -

If this doesn't compile, -

-If this doesn't link, - - -
-

-To make the samples

- -

-Solution 1

- -

-Download a zip file which contains modifed -cpp, mak and bpr files - it will overwrite your wx distribution cpp files!

- -

-Solution 2

-Creating the files by hand . This is for the calendar sample; you will -have to change the names for the other samples - -#----------------------------------------------------------------------------- -
#this is for Borland CBuilder IDE v1 and 3 -
#add a \ at the end of the lines if you editor breaks the long -lines up -
#copy this into notepad and save from there -
#----------------------------------------------------------------------------- -
!ifndef BCB -
BCB = $(MAKEDIR)\.. -
!endif -
PROJECT = calendar.exe -
OBJFILES = -
RESFILES = calendar.res -
RESDEPEN = $(RESFILES) -
LIBFILES = -
#----------------------------------------------------------------------------- -
CFLAG1 = -Od -v -a1 -c -
# -Od disable optimisations -v debug -a1 byte align -c compile -only (matches my make for the library) -
CFLAG2 = -DINC_OLE2;__WIN95__;__WXMSW__;__WINDOWS__;WIN32;__BIDE__;-I$(BCB)\include;$(BCB)\include\vcl;..\..\include; --H=BC32.CSM -
PFLAGS = -
RFLAGS = -DINC_OLE2;__WIN95__;__WXMSW__;__WINDOWS__;WIN32;__BIDE__; --I$(BCB)\include;..\..\include; -
LFLAGS = -L$(BCB)\lib;$(BCB)\lib\obj;..\..\lib -aa -Tpe -v -V4.0 --c -
IFLAGS = -
LINKER = ilink32 -
#----------------------------------------------------------------------------- -
ALLOBJ = c0w32.obj $(OBJFILES) -
ALLRES = $(RESFILES) -
ALLLIB = $(LIBFILES) vcl.lib xpm.lib wx32.lib ole2w32.lib import32.lib -odbc32.lib cw32mt.lib -
#you will need to add other libraries to the line above, eg the -jpeg.lib for image samples -
--------------------------------------------------------------------------- -
.autodepend -
  -

#----------------------------------------------------------------------------- -
$(PROJECT): $(OBJFILES) $(RESDEPEN) -

#end of file -
  -

-#ifdef __BIDE__ -
#define _NO_VCL -
#include "condefs.h" -
#define WinMain WinMain -
   // USEUNIT ("another.cpp"); // use a line like this -if you have more than one .cpp file -
    USERC ("calendar.rc"); -
#endif -
  -

In CBuilder 1 you can use Open Project to open the mak file and -edit/compile/debug. -
In CBuilder 3 and 4, then you can use Open Project and choose -the Open Borland CBuilder 1 Project from the drop down file types. The -system will modify the mak file and update it for you. -

Now try compiling it in the ide. -

-Hints:

- - - -

-Solution 3

- - -I found in CBuilder 1 that the idetomak utility did not manage -to convert all the samples, but idetobpr worked OK in CBuilder -3 and 4. I have a report that not all the bpr files made inb CBuilder 4 -are correct -

-Error with ODBC32

-Sometimes you get an error saying that there are unreolved externals in -ODBC. The soltuion is to run a command prompt in your wx\lib directory -and use the implib command: -

C:\wx\lib>implib odbc32 c:\windows\system\odbc32.dll -

This creates the necessary library, odbc32.lib -

-Unresolved Problem

-In Borland CBuilder 1.00 (with linker service patch)  I frequently -get an error -

Turbo Incremental Link  Version 1.0 Copyright (c) 1997 Borland -International -
Fatal: Assertion failed: typeInx < typeCnt at "ilinkdbg.c", -line 2060 -
Fatal: Access violation.  Program terminated. -
Error: Internal failure -- retrying link... -
Fatal: Assertion failed: typeInx < typeCnt at "ilinkdbg.c", -line 2060 -
Fatal: Access violation.  Program terminated. -

** error 2 ** deleting minimal.exe -

I have not been able to track down why sometimes this error occurs and -other times it is OK -
I have not seen this in Cbuilder 3 or 4 -

-


-

Page updated on 31 May 2000 by Chris Elliott +Compiling wxWidgets samples with the Borland CBuilder +Please use wxWidgets 2.4.x this will not work with the new makefiles in +wxWidgets 2.5.0
+
+