IMPORTANT NOTE: If you experience problems installing, please
re-read this instructions and other related files (changes.txt,
-readme.txt, notes on the Web site) carefully before mailing
-wx-users or the author. Preferably, try to fix the problem first and
-then send a patch to the author. Please report bugs using the
-bug report form on the wxWindows web site.
+readme.txt, FAQ) carefully before mailing wx-users. Preferably,
+try to fix the problem first and then upload a patch to
+SourceForge:
+
+ http://sourceforge.net/patch/?group_id=9863
+
+Please report bugs using the SourceForge bug tracker:
+
+ http://sourceforge.net/bugs/?group_id=9863
Unarchiving
-----------
- All common, generic and MSW-specific wxWindows source;
- samples;
- documentation in Windows Help format;
-- makefiles for most Windows compilers, plus BC++ and
- VC++ IDE files;
+- makefiles for most Windows compilers, plus CodeWarrior,
+ BC++ and VC++ IDE files;
- JPEG library source;
- TIFF library source;
- Object Graphics Library;
Borland C++ 4.5/5.0/5.5 compilation
-------------------------------
-Compiling using the makefiles:
+Compiling using the makefiles (updated 24 Seot 02):
-0. If downloading from CVS, copy include\wx\msw\setup0.h to
- include\wx\setup.h.
1. Make sure your WXWIN variable is set [e.g add
set WXWIN=c:\wxwindows
to your autoexec.bat file], and that it uses the FAT (short
name) form with no spaces.
Reboot if needed for the changes to autoexec.bat to take effect.
2. Change directory to src\msw. Type 'make -f makefile.b32' to
- make the wxWindows core library. Ignore the warnings about
- 'XXX' not found in library.
+ make the wxWindows core library. Ignore the compiler warnings.
+ This produces a library in the wxwindows\lib directory called
+ wx32ds.lib
3. Change directory to a sample or demo such as samples\minimal, and type
- 'make -f makefile.b32'.
+ 'make -f makefile.b32'. This produces a windows exe file
4. For release versions, recompile wxWindows and samples using
'make -f makefile.b32 clean'
'make -f makefile.b32 FINAL=1'
- for the library and samples.
+ for the library and samples. This produces a library wx32s.lib eliminating
+ all debugging information - if you wish to retain reduced debugging information
+ 'make -f makefile.b32 clean'
+ 'make -f makefile.b32 FINAL=hybrid'
+
5. To make and use wxWindows as a DLL, type
'make -f makefile.b32 clean'
'make -f makefile.b32 DLL=1'
+ which generates a DLL (wx32d.dll) and import library (wx32d.lib),
and then for each sample,
'make -f makefile.b32 WXUSINGDLL=1'
Please note that the samples have not been exhaustively tested
- with this configuration.
+ with this configuration. You may also generate a sepratae library
+ and second DLL using the commands
+ 'make -f makefile.b32 clean'
+ 'make -f makefile.b32 DLL=1 FINAL=1'
+ which generates a DLL (wx32.dll) and import library (wx32.lib),
+ and then for each sample,
+ 'make -f makefile.b32 WXUSINGDLL=1 FINAL=1'
+
+6. To make console mode applications with wxWindows functions go
+ to the src\msw directory
+ 'make -f makebase.b32 clean'
+ 'make -f makebase.b32'
+ There is a sample\console directory and in this type
+ 'make -f makefile.b32 wxUSE_GUI=0'
+
+Note (0): This provides the ability to produce separate wxwindows libraries
+ for different purposes, and only have to rebuild the applications
+
Note (1): In Borland 4.5 and earleir, using bcc.exe you also need to define BCCDIR
in the autoexec.bat file; like this:
and MinGW ( < 1.0 ) are at the end of this section
( see OLD VERSIONS )
-Here are the steps required:
-- Retrieve and install the latest version of Cygwin, or Mingw32, as per the
- instructions with either of these packages.
+There are two methods of compiling wxWindows, by using the
+makefiles provided or by using 'configure'.
-- If using Mingw32, you need some extra files to use the wxWindows
- makefiles. You can find these files in ports/mingw32 on the
- wxWindows ftp site or CD-ROM, as extra.zip.
+Retrieve and install the latest version of Cygwin, or Mingw32, as per the
+instructions with either of these packages.
- ftp://ftp.remstar.com/pub/wxwin/ports/mingw32/extra.zip
+If using Mingw32, you need some extra files to use the wxWindows
+makefiles. You can find these files in ports/mingw32 on the
+wxWindows ftp site or CD-ROM, as extra.zip.
+
+ ftp://biolp22.york.ac.uk/pub/ports/mingw32/extra.zip
- These should be extracted to the Mingw32 directory. If you have
- already downloaded rm, cp, mv from elsewhere, you won't need this.
+These should be extracted to the Mingw32 directory. If you have
+already downloaded rm, cp, mv from elsewhere, you won't need this.
+
+Using makefiles
+===============
+
+NOTE: The makefile are for compilation under Cygwin, MSYS, or
+ command.com/cmd.exe, they won't work in other environments
+ (such as UNIX)
+
+Here are the steps required using the provided makefiles:
- Set your WXWIN variable to where wxWindows is installed.
*** IMPORTANT: For Cygwin/Mingw32, use forward slashes in the path, not
backslashes.
+- Check src/makeg95.env to see that MINGW32VERSION is set to correctly
+ reflect the version of gcc that you have. Edit it as needed.
+
- Use the makefile.g95 files for compiling wxWindows and samples,
e.g. to compile a debugging version of wxWindows:
> cd c:\wx\src\msw
+ > make -f makefile.g95 clean
> make -f makefile.g95
> cd c:\wx\samples\minimal
+ > make -f makefile.g95 cleanall
> make -f makefile.g95
to compile with optimizations:
> cd c:\wx\src\msw
+ > make -f makefile.g95 clean
> make -f makefile.g95 FINAL=1
> cd c:\wx\samples\minimal
+ > make -f makefile.g95 cleanall
> make -f makefile.g95 FINAL=1
to compile a DLL:
> cd c:\wx\src\msw
+ > make -f makefile.g95 clean
> make -f makefile.g95 WXMAKINGDLL=1
> cd c:\wx\samples\minimal
+ > make -f makefile.g95 cleanall
> make -f makefile.g95 WXUSINGDLL=1
to compile the Unicode version:
> cd c:\wx\src\msw
+ > make -f makefile.g95 clean
> make -f makefile.g95 UNICODE=1
> cd c:\wx\samples\minimal
+ > make -f makefile.g95 cleanall
> make -f makefile.g95 UNICODE=1
Options can be combined ( e.g.: UNICODE=1 FINAL=1 )
and other intermediate compiler files and 'cleanall' targets to
allow removal of all object files and library files.
+Using configure
+===============
+
+Instead of using the makefiles, you can use the configure
+system to generate appropriate makefiles, as used on Unix
+and Mac OS X systems.
+
+Change directory to the root of the wxWindows distribution,
+make a build directory, and then run configure and make.
+
+For example:
+
+ cd $WXWIN
+ mkdir build-debug
+ cd build-debug
+ ../configure --with-msw --enable-debug --enable-debug_gdb --disable-shared
+ make
+ cd samples/minimal
+ make
+ ./minimal.exe
+
+
Notes:
1. See also the Cygwin/Mingw32 on the web site or CD-ROM for
further information about using wxWindows with these compilers.
-2. libwx.a is 48 MB or more - but much less if compiled with no
+2. libwx.a is 100 MB or more - but much less if compiled with no
debug info (-g0) and level 4 optimization (-O4).
-3. There's a bug in Mingw32 headers for some early distributions.
+3. If you get a link error under Mingw32 2.95.2 referring to:
+
+ EnumDAdvise__11IDataObjectPP13IEnumSTATDATA@8
+
+ then you need to edit the file objidl.h at line 663 and add
+ a missing PURE keyword:
+
+ STDMETHOD(EnumDAdvise)(THIS_ IEnumSTATDATA**) PURE;
+
+4. There's a bug in Mingw32 headers for some early distributions.
in include/windows32/defines.h, where it says:
(a missing bracket).
-4. If there's a problem with the copy or remove commands in
+5. If there's a problem with the copy or remove commands in
src/msw/makefile.g95, you may need to change the COPY and
RM variables in makeg95.env.
-5. If there's a problem executing the windres program, try
+6. If there's a problem executing the windres program, try
commenting out RCPREPROCESSOR in makeg95.env.
-6. OpenGL support should work with Mingw32 as-is. However,
+7. OpenGL support should work with Mingw32 as-is. However,
if you wish to generate import libraries appropriate either for
the MS OpenGL libraries or the SGI OpenGL libraries, go to
include/wx/msw/gl and use: