X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/73c3b37be13fed57cd83cd7020228bb0d4b3d4c4..f1389d464a7570563c4037610e18bcffb96e50fa:/docs/msw/install.txt diff --git a/docs/msw/install.txt b/docs/msw/install.txt index 974f37312d..264b2c6e51 100644 --- a/docs/msw/install.txt +++ b/docs/msw/install.txt @@ -12,10 +12,15 @@ relevant section below for details. 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 ----------- @@ -29,8 +34,8 @@ program contains the following: - 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; @@ -220,31 +225,52 @@ executables. 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: @@ -468,47 +494,69 @@ NOTE: some notes specific to old Cygwin ( < 1.1.x ) 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 ) @@ -526,15 +574,46 @@ All targets have 'clean' targets to allow removal of object files 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: @@ -546,14 +625,14 @@ Notes: (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: