]> git.saurik.com Git - wxWidgets.git/blob - docs/msw/install.txt
1410c15c907e1f351c5ce97daf1ec1427df27757
[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 The project files don't use precompiled headers, to save
45 space, but you can switch PCH compiling on for greater speed.
46
47 Using makefiles:
48
49 1. Make sure your WXWIN variable is set.
50 2. Change directory to wx\src\msw. Type 'nmake -f makefile.nt' to
51 make the wxWindows core library.
52 3. Change directory to wx\samples and type 'nmake -f makefile.nt'
53 to make all the samples. You can also make them individually.
54
55 Visual C++ 1.5 compilation
56 --------------------------
57
58 1. Make sure your WXWIN variable is set, and uses the FAT (short
59 name) form.
60 2. Change directory to wx\src\msw. Type 'nmake -f makefile.dos' to
61 make the wxWindows core library.
62 3. Change directory to a sample, such as wx\samples\minimal, and
63 type 'nmake -f makefile.dos'.
64
65 Borland C++ 4.5/5.0 compilation
66 -------------------------------
67
68 1. Make sure your WXWIN variable is set, and uses the FAT (short
69 name) form if doing a 16-bit compile.
70 2. Change directory to wx\src\msw. Type 'make -f makefile.b32' to
71 make the wxWindows core library. Ignore the warnings about
72 'XXX' not found in library.
73 3. Change directory to a sample such as minimal, and type
74 'make -f makefile.b32'.
75
76 Note: the wxWindows library compiles in 16-bit mode (using makefile.bcc),
77 but the samples do not link because of the error:
78
79 Segment TEXT_RESOURCE exceeds 64K.
80
81 There may or may not be anything we can do about this.
82
83 Watcom C++ 10.6 compilation
84 ---------------------------
85
86 Currently under construction, but so far we have:
87
88 1. Make sure your WXWIN variable is set, and uses the FAT (short
89 name) form.
90 2. Change directory to wx\src\msw. Type 'wmake -f makefile.wat' to
91 make the wxWindows core library.
92 3. Change directory to wx\samples\minimal and type 'wmake -f makefile.wat'
93 to make this sample. There are a lot of link errors at this
94 point, so can anyone help work out what I've done wrong?
95
96 Metrowerks CodeWarrior compilation
97 ----------------------------------
98
99 Support is currently being added for this compiler by Stefan
100 Csomor.
101
102 Gnu-Win32 b19/b20/Mingw32 compilation
103 -------------------------------------
104
105 wxWindows 2.0 supports Gnu-Win32/Cygwin b19, b20, Mingw32, and Mingw32/EGCS.
106
107 Thanks are due to Keith Garry Boyce (garp@opustel.com) and Cygnus for making
108 it all possible.
109
110 From wxWindows 2.0 beta 9, both Gnu-Win32 and Mingw32 (the minimal
111 distribution of Gnu-Win32) can be used with the same makefiles.
112
113 Here are the steps required:
114
115 - Retrieve and install the latest beta of Gnu-Win32, or Mingw32, as per the
116 instructions with either of these packages.
117
118 - If using Mingw32 (including the EGCS variant), you need some
119 extra files to use the wxWindows makefiles. You can find these
120 files in ports/mingw32 on the ftp site or CD-ROM, as extra.zip.
121 These should be extracted to the Mingw32 directory.
122 IMPORTANT: also see mingw32.txt in this directory (docs/msw)
123 about a fix that has to be applied to a Mingw32 header file.
124
125 - Modify the file wx/src/cygnus.bat (or mingw32.bat or mingegcs.bat)
126 to set up appropriate variables, if necessary mounting drives.
127 Run it before compiling.
128
129 - For Gnu-Win32, make sure there's a \tmp directory on your
130 Windows drive or bison will crash.
131
132 - Edit wx/src/makeg95.env and search for MINGW32. Take note of
133 the comments for adjusting settings to suit Gnu-Win32 or
134 Mingw32. Basically, this is just a case of adding the __MINGW32__ symbol
135 to OPTIONS for Mingw32, or removing it for Cygnus Gnu-Win32.
136 For Mingw32/EGCS, add both __MINGW32__ and __EGCS__.
137
138 - Mingw32 may not support winsock.h, so comment out
139 socket-related files in src/msw/makefile.g95.
140
141 - Use the makefile.g95 files for compiling wxWindows and samples,
142 e.g.:
143 > cd c:\wx\src\msw
144 > make -f makefile.g95
145 > cd c:\wx\samples\minimal
146 > make -f makefile.g95
147
148 - Use the 'strip' command to reduce executable size.
149
150 - With Cygnus Gnu-Win32, you can invoke gdb --nw myfile.exe to
151 debug an executable. If there are memory leaks, they will be
152 flagged when the program quits.
153
154 - If using GnuWin32 b18, you will need to copy windres.exe
155 from e.g. the Mingw32 distribution, to a directory in your path.
156
157 All targets have 'clean' targets to allow removal of object files
158 and other intermediate compiler files.
159
160 Gotchas:
161
162 - libwx.a is 48 MB or more - but much less if compiled with no
163 debug info (-g0) and level 4 optimization (-O4).
164 - install.exe doesn't have built-in decompression because lzexpand.lib
165 isn't available with Gnu-Win32. However, you can use it with external
166 decompression utilities.
167 - Doesn't compile src/msw/ole files, so no drag and drop.
168
169 References:
170
171 - The GNU-WIN32 site is at
172 http://www.cygnus.com/gnu-win32/
173 - Mingw32 is available at:
174 http://agnes.dida.physik.uni-essen.de/~janjaap/mingw32/index.html
175 - See also http://web.ukonline.co.uk/julian.smart/wxwin/gnuwin32.htm
176
177 Notes
178 -----
179
180 - Debugging: under Windows 95, debugging output isn't output in
181 the same way that it is under NT or Windows 3.1. Set
182 wxUSE_DBWIN32 to 1 if you wish to enable code to output debugging
183 info to an external debug monitor, such as Andrew Tucker's DBWIN32.
184 You can download DBWIN32 from:
185
186 http://ftp.digital.com/pub/micro/NT/WinSite/programr/dbwin32.zip
187
188 and it's also on the wxWindows CD-ROM under Packages.
189