+Installing wxWindows 2.1
+------------------------
+
+[Notes from Robert Roebling for snapshot 8]
+
+This is a not-so-well tested snapshot release of wxWindows 2.1 for
+Microsoft Windows 95, 98 and NT. This is not a production release,
+although a huge number of bugs found in wxWindows 2.0 have been
+fixed.
+
+There have not been major changes in the way to build the library,
+although the creation of the various makefiles has been automatized.
+I myself use the GNU MingGW32 compiler from
+
+ http://www.cygnus.com
+
+using the GNU make program from
+
+ http://agnes.dida.physik.uni-essen.de/~janjaap/mingw32
+
+and I have not tested any other compiler, but other developers use
+the makefiles for Borland C++, MS-Visual C++ 5.0 and 6.0 and probably
+Metrowerks C++.
+
+Expect problems.
+
Installing wxWindows 2.0
------------------------
wx200htm.zip HTML documentation
wx200vc.zip MS VC++ 5.0 project files
wx200cw.zip Metrowerks CodeWarrior project files
+wx200bc.zip BC++ 5 project files
Unarchive the required files plus any optional documentation
files into a suitable directory such as c:\wx.
forward slashes.
If installing from the CVS server, copy include/wx/msw/setup0.h to
-include/wx/msw/setup.h.
+include/wx/msw/setup.h and edit the resulting file to choose the featrues you
+would like to compile wxWindows with[out].
Compilation
-----------
src/Release/wxvc.lib. The project file src/wxvc_dll.dsp
will make a DLL version of wxWindow, which will go in
src/DebugDLL/wxvc.[lib,dll] and src/ReleaseDLL/wxvc.[lib,dll].
-3. Open a sample project file, choose a configuration, and compile.
+3. If you want to use JPEG in your application (such as the image
+ sample), open src/jpeg/jpeg.dsp (VC++ 6 only) and compile in
+ Debug and Release configurations. If you have VC++ 5 or
+ earlier, use makefile.vc, but you may only have one set of object
+ files at a time in use (debug or release).
+4. Open a sample project file, choose a configuration, and compile.
The project files don't use precompiled headers, to save
space, but you can switch PCH compiling on for greater speed.
to make the wxWindows core library without debug information
(wx\lib\wx.lib).
-
-3. Change directory to wx\samples and type 'nmake -f makefile.vc'
+3. If you wish to use JPEG in your applications, do the same
+ procedure in src\jpeg but add the 'all' target to the
+ command line.
+4. Change directory to wx\samples and type 'nmake -f makefile.vc'
to make all the samples. You can also make them individually.
Notes:
Size'. In Dialog Editor project, set to 'Customize: Favor Small
Code' (and no others). This will then work.
+Note (4): some crash problems can be due to inconsistent compiler
+options. If strange/weird/impossible things start to happen please
+check (dumping IDE project file as makefile and doing text comparison
+if necessary) that the project settings, especially the list of defined
+symbols, struct packing, etc. are exactly the same for all items in
+the project. After this, delete everything (including PCH) and recompile.
+
Visual C++ 1.5 compilation
--------------------------
Compiling using the IDE files:
-1. Load src\wxwin32_lib.ide.
+1. Load src\bc32.ide (or src\bc32d.ide for a debugging version).
2. Go to Options|Project... and specify the correct BC++ include and lib path for
your file structure.
3. Press F9 to compile the wxWindows library.
-4. Load samples\samples.ide.
+4. Load samples\bc32.ide.
5. Go to Options|Project... and specify the correct BC++ include and lib path for
your file structure.
6. Press F9 to compile the samples.
+Note that to make the png, xpm and zlib libraries (needed for
+some samples) you need to compile with bc32.ide. bc32d.ide only
+makes the wxWindows library (lib\wx32d.lib).
+
+The debug version of the wxWindows library is about 37 MB, and the
+release version is around 3 MB.
+
See also the file bc_ide.txt for further instructions and details
of how to create your own project files.
NOTES:
-(a) Unfortunately CodeWarrior support is broken in this
- release. Stefan Csomor (csomor@advancedconcepts.ch) will rectify this shortly.
-(b) You need CodeWarrior Pro 4 plus the patches to 4.1 from the
- Metrowerks Web site.
+You need CodeWarrior Pro 4 plus the patches to 4.1 from the
+Metrowerks Web site.
Symantec C++ compilation
------------------------
Cygwin b19/b20/Mingw32 compilation
----------------------------------
-wxWindows 2.0 supports Cygwin (formerly GnuWin32) b19, b20, Mingw32, and Mingw32/EGCS.
+wxWindows 2 supports Cygwin (formerly GnuWin32) b19, b20, Mingw32, and Mingw32/EGCS.
Thanks are due to Keith Garry Boyce (garp@opustel.com) and Cygnus for making
it all possible.
If you have already have downloaded bison, flex, make, rm, mv
from elsewhere, you won't need this.
- IMPORTANT: also see mingw32.txt in this directory (docs/msw)
- about a fix that has to be applied to a Mingw32 header file.
+ If using Mingw32 2.8.1, see also see mingw32.txt in this directory
+ (docs/msw) about a fix that has to be applied to a Mingw32 header file.
+
+ If using Mingw32 2.95 with wxWindows 2.1 or above, and wish to use OLE, you
+ should hand-patch in Mingw32-gcc295.patches (located in the top-level of the
+ wxWindows 2 installation).
- Modify the file wx/src/cygnus.bat (or mingw32.bat or mingegcs.bat)
to set up appropriate variables, if necessary mounting drives.
- For Cygwin, make sure there's a \tmp directory on your
Windows drive or bison will crash.
-- Edit wx/src/makeg95.env and search for MINGW32. Take note of
- the comments for adjusting settings to suit Cygwin or
- Mingw32. Basically, this is just a case of adding the __MINGW32__ symbol
- to OPTIONS for Mingw32, or removing it for Cygnus Cygwin.
- For Mingw32/EGCS, add both __MINGW32__ and __EGCS__.
- You may need to remove -loldnames from WINLIBS for Mingw32, or add it for
- Cygwin.
+- makeg95.env configuation:
+
+- Edit wx/src/makeg95.env and set the MINGW32 variable at the top of
+ the file to either 1 (you have Mingw32) or 0 (you have Cygwin32).
-- Mingw32 may not support winsock.h, so comment out
- socket-related files in src/msw/makefile.g95.
+- Mingw32 may not support winsock.h, so if you have a problem
+ here, comment out socket-related files in src/msw/makefile.g95.
- Set your WXWIN variable to where wxWindows is installed.
- For Cygwin/Mingw32, use forward slashes in the path, not backslashes.
+ *** IMPORTANT: For Cygwin/Mingw32, use forward slashes in the path, not
+ backslashes.
- Use the makefile.g95 files for compiling wxWindows and samples,
e.g.:
All targets have 'clean' targets to allow removal of object files
and other intermediate compiler files.
-Gotchas:
+Notes:
- libwx.a is 48 MB or more - but much less if compiled with no
debug info (-g0) and level 4 optimization (-O4).
+
- install.exe doesn't have built-in decompression because lzexpand.lib
isn't available with Cygwin. However, you can use it with external
decompression utilities.
+
- Doesn't compile src/msw/ole files, so no drag and drop.
+- There's a bug in the Mingw32 headers for some distributions.
+
+ in include/windows32/defines.h, where it says:
+
+ #define LPSTR_TEXTCALLBACKA (LPSTR)-1L)
+
+ it should say:
+
+ #define LPSTR_TEXTCALLBACKA ((LPSTR)-1L)
+
+ (a missing bracket).
+
References:
- The GNU-WIN32 site is at
http://www.cygnus.com/gnu-win32/
- Mingw32 is available at:
- http://agnes.dida.physik.uni-essen.de/~janjaap/mingw32/index.html
+ ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/gcc-2.95/
- See also http://web.ukonline.co.uk/julian.smart/wxwin/gnuwin32.htm
TWIN32 and gcc on Linux