]> git.saurik.com Git - wxWidgets.git/blob - docs/msw/install.txt
More progress on wxMotif, incl. wxTreeCtrl/wxListCtrl beginning to work
[wxWidgets.git] / docs / msw / install.txt
1
2 Installing wxWindows 2.0
3 ------------------------
4
5 Unarchiving
6 -----------
7
8 If there is a setup program, run the setup program that comes with the Windows version.
9 Do not install into a path that contains spaces. The installation program should set the
10 WXWIN environment variable, which will be activated when your machine is rebooted.
11
12 If there is no setup program, it will come as a series of .zip
13 files:
14
15 wx200gen.zip Generic source code and samples (required)
16 wx200msw.zip Windows-specific source code and samples (required)
17 wx200doc.zip Documentation source code (not required)
18 wx200hlp.zip WinHelp documentation
19 wx200pdf.zip Acrobat PDF documentation
20 wx200htm.zip HTML documentation
21 wx200vc.zip MS VC++ 5.0 project files
22
23 Unarchive the required files plus any optional documentation
24 files into a suitable directory such as c:\wx. Alter your
25 WXWIN environment variable to point to this directory.
26
27 Compilation
28 -----------
29
30 At present, wxWindows compiles with VC++ 4.0/5.0/6.0,
31 BC++ 4.5/5.0, Gnu-Win32 b19/b20, and Mingw32. It may compile
32 with 16-bit compilers (BC++ and VC++ 1.5) but this hasn't
33 been tested lately.
34
35 Visual C++ 4.0/5.0/6.0 compilation
36 ----------------------------------
37
38 Using project files:
39
40 1. Unarchive wx200vc.zip, the VC++ 5 project makefiles.
41 2. Open src/wxvc.dsp, set Debug or Release configuration, and
42 compile. This will produce lib/wxvc.lib or lib/wxvc_debug.lib.
43 3. Open a sample project file, choose a configuration, and compile.
44 Currently only the minimal and mdi samples have project files.
45 To create others, copy the .dsp/.dsw files from the minimal
46 sample and globally replace 'MinimalVC' and 'minimal' with
47 suitable names. Add any other required source files.
48
49 Using makefiles:
50
51 1. Change directory to wx\src\msw. Type 'nmake -f makefile.nt' to
52 make the wxWindows core library.
53 2. Change directory to wx\samples and type 'nmake -f makefile.nt'
54 to make all the samples. You can also make them individually.
55
56 Visual C++ 1.5 compilation
57 --------------------------
58
59 1. Change directory to wx\src\msw. Type 'nmake -f makefile.dos' to
60 make the wxWindows core library.
61 2. Change directory to wx\samples and type 'nmake -f makefile.dos'
62 to make all the samples. You can also make them individually.
63 NOTE: only a few samples have up-to-date makefiles, e.g.
64 minimal, docview, mdi. The utils makefile does not yet work.
65
66 Borland C++ 4.5/5.0 compilation
67 -------------------------------
68
69 1. Change directory to wx\src\msw. Type 'make -f makefile.b32' to
70 make the wxWindows core library.
71 2. Change directory to wx\samples and type 'make -f makefile.b32'
72 to make all the samples. You can also make them individually.
73 NOTE: only a few samples have up-to-date makefiles, e.g.
74 minimal, docview, mdi. The utils makefile does not yet work.
75
76 Gnu-Win32 b19/b20/Mingw32 compilation
77 -------------------------------------
78
79 wxWindows 2.0 supports Gnu-Win32/Cygwin b19, b20, Mingw32, and Mingw32/EGCS.
80
81 Thanks are due to Keith Garry Boyce (garp@opustel.com) and Cygnus for making
82 it all possible.
83
84 From wxWindows 2.0 beta 9, both Gnu-Win32 and Mingw32 (the minimal
85 distribution of Gnu-Win32) can be used with the same makefiles.
86
87 Here are the steps required:
88
89 - Retrieve and install the latest beta of Gnu-Win32, or Mingw32, as per the
90 instructions with either of these packages.
91
92 - If using Mingw32 (including the EGCS variant), you need some
93 extra files to use the wxWindows makefiles. You can find these
94 files in ports/mingw32 on the ftp site or CD-ROM, as extra.zip.
95 These should be extracted to the Mingw32 directory.
96 IMPORTANT: also see mingw32.txt in this directory (docs/msw)
97 about a fix that has to be applied to a Mingw32 header file.
98
99 - Modify the file wx/src/cygnus.bat (or mingw32.bat or mingegcs.bat)
100 to set up appropriate variables, if necessary mounting drives.
101 Run it before compiling.
102
103 - For Gnu-Win32, make sure there's a \tmp directory on your
104 Windows drive or bison will crash.
105
106 - Edit wx/src/makeg95.env and search for MINGW32. Take note of
107 the comments for adjusting settings to suit Gnu-Win32 or
108 Mingw32. Basically, this is just a case of adding the __MINGW32__ symbol
109 to OPTIONS for Mingw32, or removing it for Cygnus Gnu-Win32.
110 For Mingw32/EGCS, add both __MINGW32__ and __EGCS__.
111
112 - Mingw32 may not support winsock.h, so comment out
113 socket-related files in src/msw/makefile.g95.
114
115 - Use the makefile.g95 files for compiling wxWindows and samples,
116 e.g.:
117 > cd c:\wx\src\msw
118 > make -f makefile.g95
119 > cd c:\wx\samples\minimal
120 > make -f makefile.g95
121
122 - Use the 'strip' command to reduce executable size.
123
124 - With Cygnus Gnu-Win32, you can invoke gdb --nw myfile.exe to
125 debug an executable. If there are memory leaks, they will be
126 flagged when the program quits.
127
128 - If using GnuWin32 b18, you will need to copy windres.exe
129 from e.g. the Mingw32 distribution, to a directory in your path.
130
131 All targets have 'clean' targets to allow removal of object files
132 and other intermediate compiler files.
133
134 Gotchas:
135
136 - libwx.a is 48 MB or more - but much less if compiled with no
137 debug info (-g0) and level 4 optimization (-O4).
138 - install.exe doesn't have built-in decompression because lzexpand.lib
139 isn't available with Gnu-Win32. However, you can use it with external
140 decompression utilities.
141 - Doesn't compile src/msw/ole files, so no drag and drop.
142
143 References:
144
145 - The GNU-WIN32 site is at
146 http://www.cygnus.com/gnu-win32/
147 - Mingw32 is available at:
148 http://agnes.dida.physik.uni-essen.de/~janjaap/mingw32/index.html
149 - See also http://web.ukonline.co.uk/julian.smart/wxwin/gnuwin32.htm
150
151 Notes
152 -----
153
154 - Debugging: under Windows 95, debugging output isn't output in
155 the same way that it is under NT or Windows 3.1. Set
156 wxUSE_DBWIN32 to 1 if you wish to enable code to output debugging
157 info to an external debug monitor, such as Andrew Tucker's DBWIN32.
158 You can download DBWIN32 from:
159
160 http://ftp.digital.com/pub/micro/NT/WinSite/programr/dbwin32.zip
161
162 and it's also on the wxWindows CD-ROM.