]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/msw/install.txt
Corrected scrollwin thumb release event,
[wxWidgets.git] / docs / msw / install.txt
index dee174b7902b1d00f7d688fac9c3214fe5b9954a..3521834eea9a87deb8804dd5978ca434cbcb6a46 100644 (file)
@@ -48,6 +48,7 @@ wx2_x_y_vc.zip             MS VC++ 5.0 project files
 wx2_x_y_cw.zip             Metrowerks CodeWarrior project files
 wx2_x_y_bc.zip             BC++ 5 project files
 jpeg.zip                   Use this to allow wxImage to read and write JPEG files
 wx2_x_y_cw.zip             Metrowerks CodeWarrior project files
 wx2_x_y_bc.zip             BC++ 5 project files
 jpeg.zip                   Use this to allow wxImage to read and write JPEG files
+tiff.zip                   Use this to allow wxImage to read and write TIFF files
 
 Unarchive the required files plus any optional documentation
 files into a suitable directory such as c:\wx.
 
 Unarchive the required files plus any optional documentation
 files into a suitable directory such as c:\wx.
@@ -79,27 +80,31 @@ compiler.
 Visual C++ 4.0/5.0/6.0 compilation
 ----------------------------------
 
 Visual C++ 4.0/5.0/6.0 compilation
 ----------------------------------
 
-Using project files:
+Using project files (VC++ 5 and 6 only):
 
 1. Unarchive wx2_x_y_vc.zip, the VC++ 5/6 project makefiles.
 
 1. Unarchive wx2_x_y_vc.zip, the VC++ 5/6 project makefiles.
-2. Open src/wxvc.dsp, set Debug or Release configuration, and
-   compile. This will produce src/Debug/wxvc.lib or
-   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. If you want to use JPEG in your application (such as the image
-   sample), open src/jpeg/jpeg.dsp (VC++ 5/6 only) and compile in
-   Debug and Release configurations. If you have VC++ 4,
-   use makefile.vc, but you may only have one set of object
-   files at a time in use (debug or release versions).
-4. Open a sample project file, choose a configuration, and compile.
-   The project files don't use precompiled headers, to save
+2. Open src/wxvc.dsp, set Debug or Release configuration for
+   the wxvc project, and compile. Alternatively, use Batch Build
+   to build both Debug and Release configurations.
+   This will produce lib/wx.lib (release) and lib/wxd.lib (debug),
+   plus various subordinate libraries. It assumes you have
+   the TIFF and JPEG source, which is already in the setup
+   version of the distribution.
+   The project file src/wxvc_dll.dsp will make a DLL version of wxWindow,
+   which will go in lib/wxdll.[lib,dll] and lib/wxdlld.[lib,dll].
+3. Open a sample project file, choose a configuration such as
+   Debug using Build | Set Active Configuration..., and compile.
+   The project files don't use precompiled headers, to save disk
    space, but you can switch PCH compiling on for greater speed.
 
 Using makefiles:
 
 1. Make sure your WXWIN variable is set.
    space, but you can switch PCH compiling on for greater speed.
 
 Using makefiles:
 
 1. Make sure your WXWIN variable is set.
-2. Change directory to wx\src\msw. Type:
+2. If you do NOT have the TIFF or JPEG source code, please remove
+   the tiff and jpeg targets from the 'all' target in
+   src\msw\makefile.vc. Also ensure the settings in
+   include\wx\msw\setup.h specify not to use JPEG or TIFF.
+3. Change directory to wx\src\msw. Type:
 
   'nmake -f makefile.vc'
 
 
   'nmake -f makefile.vc'
 
@@ -110,13 +115,10 @@ Using makefiles:
 
    to make the wxWindows core library without debug information
    (wx\lib\wx.lib).
 
    to make the wxWindows core library without debug information
    (wx\lib\wx.lib).
-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.
 
 4. Change directory to wx\samples and type 'nmake -f makefile.vc'
    to make all the samples. You can also make them individually.
 
-Notes:
+Makefile notes:
 
   Use the 'clean' target to clean all objects, libraries and
   executables.
 
   Use the 'clean' target to clean all objects, libraries and
   executables.
@@ -137,8 +139,8 @@ To build the DLL version using makefiles:
    suitable precompiled header file for compiling applications.
    The resulting libraries are called:
 
    suitable precompiled header file for compiling applications.
    The resulting libraries are called:
 
-      wx\lib\wx200.lib(dll) (debug version)
-      wx\lib\wx200.lib(dll)   (release version, using FINAL=1)
+      wx\lib\wx[version].lib(dll) (debug version)
+      wx\lib\wx[version].lib(dll) (release version, using FINAL=1)
 
 2. Invoke a sample makefile with 'nmake -f makefile.vc WXUSINGDLL=1'
    (or edit src\makeprog.vc to set WXUSINGDLL to 1 for all
 
 2. Invoke a sample makefile with 'nmake -f makefile.vc WXUSINGDLL=1'
    (or edit src\makeprog.vc to set WXUSINGDLL to 1 for all
@@ -153,8 +155,9 @@ using templates, to avoid the non-template stream files being included
 within wxWindows.
 
 Note (2): libraries and applications generated with makefiles and
 within wxWindows.
 
 Note (2): libraries and applications generated with makefiles and
-project files are unlikely to be compatible, so use one method or
-the other.
+project files are now (hopefully) compatible where static libraries
+are concerned, but please exercise caution nevertheless and if
+possible, use one method or the other.
 
 Note (3): VC++ 5's optimization code seems to be broken and can
 cause both compile and run-time problems: this can be seen when
 
 Note (3): VC++ 5's optimization code seems to be broken and can
 cause both compile and run-time problems: this can be seen when
@@ -168,7 +171,12 @@ Code' (and no others). This will then work.
 
 Similarly, in VC++ 4, optimization can cause internal compiler
 errors, so edit src\makevc.env and change /O1 to /Od before
 
 Similarly, in VC++ 4, optimization can cause internal compiler
 errors, so edit src\makevc.env and change /O1 to /Od before
-trying build a release version of the library.
+trying build a release version of the library. Or, type:
+
+nmake -f makefile.vc noopt FINAL=1
+
+and then resume compilation in the normal way. This will build
+troublesome files with no optimization.
 
 Note (4): some crash problems can be due to inconsistent compiler
 options. If strange/weird/impossible things start to happen please
 
 Note (4): some crash problems can be due to inconsistent compiler
 options. If strange/weird/impossible things start to happen please
@@ -229,6 +237,13 @@ either install odbc32.lib from the BC++ CD-ROM into your BC++ lib
 directory, or set wxUSE_ODBC to 0 in include\wx\msw\setup.h and
 recompile wxWindows. The same applies if compiling using the IDE.
 
 directory, or set wxUSE_ODBC to 0 in include\wx\msw\setup.h and
 recompile wxWindows. The same applies if compiling using the IDE.
 
+Note (5): BC++ 4.5 (not 5.0) trips up over jdmerge.c in the JPEG folder;
+you will therefore need to set wxUSE_LIBJPEG to 0 in setup.h and remove
+the jpeg target from src\msw\makefile.b32.
+
+Note (6): If using C++Builder 4 and above (BC++ 5.4), change LINK=tlink32 to
+LINK=ilink32 in src\makeb32.env.
+
 Compiling using the IDE files:
 
 1. Load src\bc32.ide (Release settings)
 Compiling using the IDE files:
 
 1. Load src\bc32.ide (Release settings)
@@ -275,6 +290,22 @@ Note (1): setup.h overrides wxUSE_LIBJPEG and sets it to 0, since
 imagjpeg.cpp doesn't compile.
 Note (2): makewat.env uses the odbc32.lib supplied in wxWindows' lib\watcom
 directory. See the notes in that directory.
 imagjpeg.cpp doesn't compile.
 Note (2): makewat.env uses the odbc32.lib supplied in wxWindows' lib\watcom
 directory. See the notes in that directory.
+Note (3): if variant.cpp is compiled with date/time class
+options, the linker gives up. So the date/time option is switched
+off for Watcom C++. Also, wxAutomationObject is not compiled with
+Watcom C++.
+Note (4): if Watcom can't read the precompiled header when
+building a sample, try deleting src\msw\watcom.pch and
+compiling the sample again.
+Note (5): if you get _popen_ and _pclose_ link errors, try
+recompiling wxWindows with XPM support disabled in setup.h.
+Alternatively, make sure these lines exist at the top of
+src\xpm\xpmi.h:
+
+// Added by JACS for Watcom C++/wxWindows compilation (no popen/pclose functions)
+#ifdef __WATCOMC__
+#define NO_ZPIPE
+#endif
 
 Metrowerks CodeWarrior compilation
 ----------------------------------
 
 Metrowerks CodeWarrior compilation
 ----------------------------------
@@ -348,7 +379,7 @@ Here are the steps required:
   extra files to use the wxWindows makefiles. You can find these
   files in ports/mingw32 on the ftp site or CD-ROM, as extra.zip.
   These should be extracted to the Mingw32 directory.
   extra files to use the wxWindows makefiles. You can find these
   files in ports/mingw32 on the ftp site or CD-ROM, as extra.zip.
   These should be extracted to the Mingw32 directory.
-  If you have already have downloaded bison, flex, make, rm, mv
+  If you have already have downloaded bison, flex, make, rm, cp, mv
   from elsewhere, you won't need this.
 
   If using Mingw32 2.8.1, see also see mingw32.txt in this directory
   from elsewhere, you won't need this.
 
   If using Mingw32 2.8.1, see also see mingw32.txt in this directory
@@ -400,38 +431,30 @@ and other intermediate compiler files.
 
 Notes:
 
 
 Notes:
 
-- See also the Cygwin/Mingw32 on the web site or CD-ROM for
-  further information about using wxWindows with these compilers.
-
-- libwx.a is 48 MB or more - but much less if compiled with no
-  debug info (-g0) and level 4 optimization (-O4).
+1. See also the Cygwin/Mingw32 on the web site or CD-ROM for
+   further information about using wxWindows with these compilers.
 
 
-- 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.
+2. libwx.a is 48 MB or more - but much less if compiled with no
+   debug info (-g0) and level 4 optimization (-O4).
 
 
-- There's a bug in Mingw32 headers for some early distributions.
+3. There's a bug in Mingw32 headers for some early distributions.
 
 
-  in include/windows32/defines.h, where it says:
+   in include/windows32/defines.h, where it says:
 
 
-  #define LPSTR_TEXTCALLBACKA (LPSTR)-1L)
+   #define LPSTR_TEXTCALLBACKA (LPSTR)-1L)
 
 
-  it should say:
+   it should say:
 
 
-  #define LPSTR_TEXTCALLBACKA ((LPSTR)-1L)
+   #define LPSTR_TEXTCALLBACKA ((LPSTR)-1L)
 
 
-  (a missing bracket).
+   (a missing bracket).
 
 
-- If there's a problem with the copy command in
-  src/msw/makefile.g95, you may need to change the relevant
-  section to the following:
+4. If there's a problem with the copy command in
+   src/msw/makefile.g95, you may need to change the COPY and
+   COPYSEP variables in makeg95.env.
 
 
-  COPY = command /c copy
-  $(COMMDIR)/y_tab.c:     $(COMMDIR)/dosyacc.c
-      $(COPY) ..\\common\\dosyacc.c ..\\common\\y_tab.c
-
-  $(COMMDIR)/lex_yy.c:    $(COMMDIR)/doslex.c
-      $(COPY) ..\\common\\doslex.c ..\\common\\lex_yy.c
+5. If there's a problem executing the windres program, try
+   commenting out RCPREPROCESSOR in makeg95.env.
 
 References:
 
 
 References:
 
@@ -473,3 +496,4 @@ General Notes
   include/wx/msw/setup.h is missing. This is deliberate, to avoid
   developers' different setup.h configurations getting confused.
   Please copy setup0.h to setup.h before compiling.
   include/wx/msw/setup.h is missing. This is deliberate, to avoid
   developers' different setup.h configurations getting confused.
   Please copy setup0.h to setup.h before compiling.
+