]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/msw/install.txt
Ignore failure when deleting something that might not exist
[wxWidgets.git] / docs / msw / install.txt
index ddb16cc33488fe9b15df2592c652adf385911eb6..98481fb68fa1472adf3665efc4129b627546f090 100644 (file)
@@ -26,6 +26,7 @@ wx200pdf.zip            Acrobat PDF documentation
 wx200htm.zip            HTML documentation
 wx200vc.zip             MS VC++ 5.0 project files
 wx200cw.zip             Metrowerks CodeWarrior project files
 wx200htm.zip            HTML documentation
 wx200vc.zip             MS VC++ 5.0 project files
 wx200cw.zip             Metrowerks CodeWarrior project files
+wx200bc.zip             BC++ 5 project 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.
@@ -60,7 +61,10 @@ Using project files:
 
 1. Unarchive wx200vc.zip, the VC++ 5 project makefiles.
 2. Open src/wxvc.dsp, set Debug or Release configuration, and
 
 1. Unarchive wx200vc.zip, the VC++ 5 project makefiles.
 2. Open src/wxvc.dsp, set Debug or Release configuration, and
-   compile. This will produce lib/wxvc.lib or lib/wxvc_debug.lib.
+   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. Open a sample project file, choose a configuration, and compile.
    The project files don't use precompiled headers, to save
    space, but you can switch PCH compiling on for greater speed.
 3. Open a sample project file, choose a configuration, and compile.
    The project files don't use precompiled headers, to save
    space, but you can switch PCH compiling on for greater speed.
@@ -68,23 +72,48 @@ Using project files:
 Using makefiles:
 
 1. Make sure your WXWIN variable is set.
 Using makefiles:
 
 1. Make sure your WXWIN variable is set.
-2. Change directory to wx\src\msw. Type 'nmake -f makefile.vc' to
-   make the wxWindows core library.
+2. Change directory to wx\src\msw. Type:
+
+  'nmake -f makefile.vc'
+
+   to make the wxWindows core library with debug information
+   (wx\lib\wx_d.lib), or
+
+  'nmake -f makefile.vc FINAL=1'
+
+   to make the wxWindows core library without debug information
+   (wx\lib\wx.lib).
+
 3. Change directory to wx\samples and type 'nmake -f makefile.vc'
    to make all the samples. You can also make them individually.
 
 3. Change directory to wx\samples and type 'nmake -f makefile.vc'
    to make all the samples. You can also make them individually.
 
-To build the release version using makefiles, add FINAL=1 to your
-nmake invocation, both when building the library and for samples.
+Notes:
 
 
-Use the 'clean' target to clean all objects, libraries and
-executables.
+  Use the 'clean' target to clean all objects, libraries and
+  executables.
+
+  To build the release version using makefiles, add FINAL=1 to your
+  nmake invocation, both when building the library and for samples.
+
+  Note that the wxWindows core library allows you to have debug
+  and release libraries available simultaneously, by compiling the
+  objects in different subdirectories, whereas samples must be
+  cleaned and re-made to build a different configuration. This
+  may be changed in later versions of wxWindows.
 
 To build the DLL version using makefiles:
 
 1. Change directory to wx\src\msw. Type 'nmake -f makefile.vc dll pch'
    to make both a suitable DLL and import library, and to build a
    suitable precompiled header file for compiling applications.
 
 To build the DLL version using makefiles:
 
 1. Change directory to wx\src\msw. Type 'nmake -f makefile.vc dll pch'
    to make both a suitable DLL and import library, and to build a
    suitable precompiled header file for compiling applications.
-2. Invoke a sample makefile with 'nmake -f makefile.vc WXUSINGDLL=1'.
+   The resulting libraries are called:
+
+      wx\lib\wx200_d.lib(dll) (debug version)
+      wx\lib\wx200.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
+   applications).
 
 Note (1): if you wish to use templates, please edit
 include\wx\msw\setup.h and set wxUSE_DEBUG_NEW_ALWAYS to 0.
 
 Note (1): if you wish to use templates, please edit
 include\wx\msw\setup.h and set wxUSE_DEBUG_NEW_ALWAYS to 0.
@@ -108,6 +137,13 @@ optimized. For example, in wxWindows project, set to 'Minimum
 Size'. In Dialog Editor project, set to 'Customize: Favor Small
 Code' (and no others). This will then work.
 
 Size'. In Dialog Editor project, set to 'Customize: Favor Small
 Code' (and no others). This will then work.
 
+Note (4): some crash problems can be due to inconsistent compiler
+options. If strange/weird/impossible things start to happen please
+check (dumping IDE project file as makefile and doing text comparison
+if necessary) that the project settings, especially the list of defined
+symbols, struct packing, etc. are exactly the same for all items in
+the project. After this, delete everything (including PCH) and recompile.
+
 Visual C++ 1.5 compilation
 --------------------------
 
 Visual C++ 1.5 compilation
 --------------------------
 
@@ -127,6 +163,8 @@ executables.
 Borland C++ 4.5/5.0 compilation
 -------------------------------
 
 Borland C++ 4.5/5.0 compilation
 -------------------------------
 
+Compiling using the makefiles:
+
 1. Make sure your WXWIN variable is set, and uses the FAT (short
    name) form if doing a 16-bit compile.
 2. Change directory to wx\src\msw. Type 'make -f makefile.b32' to
 1. Make sure your WXWIN variable is set, and uses the FAT (short
    name) form if doing a 16-bit compile.
 2. Change directory to wx\src\msw. Type 'make -f makefile.b32' to
@@ -143,6 +181,27 @@ Note: the wxWindows library and (some) samples compile in 16-bit mode
 using makefile.bcc, but at present the wxWindows resource system is switched
 off in this mode. See issues.txt for details.
 
 using makefile.bcc, but at present the wxWindows resource system is switched
 off in this mode. See issues.txt for details.
 
+Compiling using the IDE files:
+
+1. Load src\bc32.ide (or src\bc32d.ide for a debugging version).
+2. Go to Options|Project... and specify the correct BC++ include and lib path for
+   your file structure.
+3. Press F9 to compile the wxWindows library.
+4. Load samples\bc32.ide.
+5. Go to Options|Project... and specify the correct BC++ include and lib path for
+   your file structure.
+6. Press F9 to compile the samples.
+
+Note that to make the png, xpm and zlib libraries (needed for
+some samples) you need to compile with bc32.ide. bc32d.ide only
+makes the wxWindows library (lib\wx32d.lib).
+
+The debug version of the wxWindows library is about 37 MB, and the
+release version is around 3 MB.
+
+See also the file bc_ide.txt for further instructions and details
+of how to create your own project files.
+
 Borland C++Builder compilation
 ------------------------------
 
 Borland C++Builder compilation
 ------------------------------
 
@@ -154,8 +213,8 @@ supplied.
 Watcom C++ 10.6 compilation
 ---------------------------
 
 Watcom C++ 10.6 compilation
 ---------------------------
 
-1. Make sure your WXWIN variable is set, and uses the FAT (short
-   name) form.
+1. Make sure your WXWIN variable is set, and uses the DOS short
+   name form.
 2. Change directory to wx\src\msw. Type 'wmake -f makefile.wat' to
    make the wxWindows core library.
 3. Change directory to wx\samples\minimal and type 'wmake -f makefile.wat'
 2. Change directory to wx\src\msw. Type 'wmake -f makefile.wat' to
    make the wxWindows core library.
 3. Change directory to wx\samples\minimal and type 'wmake -f makefile.wat'
@@ -172,9 +231,7 @@ Metrowerks CodeWarrior compilation
 
 NOTES:
 
 
 NOTES:
 
-(a) Unfortunately CodeWarrior support is broken in this
-release. Stefan Csomor (csomor@advancedconcepts.ch) will rectify this shortly.
-(b) You need CodeWarrior Pro 4 plus the patches to 4.1 from the
+You need CodeWarrior Pro 4 plus the patches to 4.1 from the
 Metrowerks Web site.
 
 Symantec C++ compilation
 Metrowerks Web site.
 
 Symantec C++ compilation
@@ -268,6 +325,8 @@ Here are the steps required:
   > cd c:\wx\samples\minimal
   > make -f makefile.g95
 
   > cd c:\wx\samples\minimal
   > make -f makefile.g95
 
+  Ignore the warning about the default entry point.
+
 - Use the 'strip' command to reduce executable size.
 
 - With Cygnus Cygwin, you can invoke gdb --nw myfile.exe to
 - Use the 'strip' command to reduce executable size.
 
 - With Cygnus Cygwin, you can invoke gdb --nw myfile.exe to
@@ -280,15 +339,29 @@ Here are the steps required:
 All targets have 'clean' targets to allow removal of object files
 and other intermediate compiler files.
 
 All targets have 'clean' targets to allow removal of object files
 and other intermediate compiler files.
 
-Gotchas:
+Notes:
 
 - libwx.a is 48 MB or more - but much less if compiled with no
   debug info (-g0) and level 4 optimization (-O4).
 
 - libwx.a is 48 MB or more - but much less if compiled with no
   debug info (-g0) and level 4 optimization (-O4).
+
 - 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.
 - 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.
+
 - Doesn't compile src/msw/ole files, so no drag and drop.
 
 - Doesn't compile src/msw/ole files, so no drag and drop.
 
+- There's a bug in the Mingw32 headers for some distributions.
+
+  in include/windows32/defines.h, where it says:
+
+  #define LPSTR_TEXTCALLBACKA (LPSTR)-1L)
+
+  it should say:
+
+  #define LPSTR_TEXTCALLBACKA ((LPSTR)-1L)
+
+  (a missing bracket).
+
 References:
 
  - The GNU-WIN32 site is at
 References:
 
  - The GNU-WIN32 site is at