X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2a3476f24d0d0d2d644bb3d06c616b740f3e1f29..8ffbb0f8df8e4c2facffc65c394c8933ac79c3af:/docs/msw/install.txt diff --git a/docs/msw/install.txt b/docs/msw/install.txt index 176d1ba2c6..4cd5b48aed 100644 --- a/docs/msw/install.txt +++ b/docs/msw/install.txt @@ -1,10 +1,11 @@ -Installing wxWidgets 2.5.3 --------------------------- +Installing wxWidgets 2.7.2 +----------------------------------------------------------- -This is wxWidgets 2.5.3 for Microsoft Windows 9x/ME, Windows NT, Windows 2000 -and Windows XP. This is an unstable development release. Note that unstable in -this context doesn't mean that it crashes a lot, just that the library API may -change in backwards incompatible way during the 2.5 branch lifetime. +This is wxWidgets 2.7.2 for Microsoft Windows 9x/ME, Windows NT, +Windows 2000, Windows XP and Windows CE. + +These installation notes can be found in docs/msw/install.txt +in your wxWidgets distribution. IMPORTANT NOTE: If you experience problems installing, please re-read this instructions and other related files (changes.txt, @@ -19,7 +20,7 @@ Please report bugs using the SourceForge bug tracker: http://sourceforge.net/bugs/?group_id=9863 Unarchiving -=========== +============================================================ A setup program is provided (setup.exe) to automatically copy files to a directory on your hard disk. Do not install into a @@ -61,7 +62,7 @@ All makefiles and project are located in build\msw directory. Where compiled files are stored ------------------------------- -After succesful compilation you'll find the libraries in a subdirectory +After successful compilation you'll find the libraries in a subdirectory of lib directory named after the compiler and DLL/static settings. A couple of examples: @@ -107,16 +108,16 @@ Below are compiler specific notes followed by customizing instructions that apply to all compilers (search for "Configuring the build"). Microsoft Visual C++ compilation --------------------------------- +---------------------------------------------------------------- You may wish to visit http://wiki.wxwindows.org/wiki.pl?MSVC for a more informal and more detailed description of the process summarized below. Please note that the VC++ 6.0 project files will work for VC++ .NET also. -Also note that you can make the project files work with VC++ 5.0 but you'll -need to edit .dsp file by hand before this is possible (change the version in -the .dsp file header from 6.0 to 5.0). +VC++ 5.0 can also be used, providing Service Pack 3 is applied. Without it +you will have trouble with internal compiler errors. It is available for +download at: ftp://ftp.microsoft.com/developr/visualstudio/sp3/full. Using project files (VC++ 6 and later): @@ -131,9 +132,17 @@ Using project files (VC++ 6 and later): know you won't need some of the libraries (i.e. html part), you don't have to compile it. It will also produce similar variations on jpeg.lib, png.lib, tiff.lib, zlib.lib, and regex.lib. - If you want to build DLLs, you have to either build them one by one in - proper order (jpeg, png, tiff, zlib, regex, expat, base, core, the rest - in any order) or to use wx_dll.dsw workspace which has correct dependencies. + + If you want to build DLL configurations in wx.dsw project you unfortunately + need to build them in the proper order (jpeg, png, tiff, zlib, regex, expat, + base, net, odbc, core, gl, html, media, qa, adv, dbgrid, xrc, aui, richtext) + manually because VC6 doesn't always respect the correct build order. + + Alternatively, use the special wx_dll.dsw project which adds the + dependencies to force the correct order (but, because of this, doesn't work + for the static libraries) or simply redo the build several times until all + DLLs are linked correctly. Pleae notice that it's normal that dbgrid project + doesn't build if wxUSE_ODBC is set to 0 (default). 3. Open a sample project file, choose a configuration such as Win32 Debug using Build | Set Active Configuration..., and compile. The project files don't use precompiled headers, to save disk @@ -185,10 +194,89 @@ Note (4): to create your own IDE files, copy .dsp and .dsw files from an existing wxWidgets sample and adapt them, or visit http://wiki.wxwindows.org/wiki.pl?MSVC. -Borland C++ 5.0/5.5 compilation -------------------------------- +Microsoft Visual C++ compilation for 64-bit Windows +---------------------------------------------------------------- + +Visual Studio 2005 includes 64-bit compilers, though they are not installed by +default; you need to select them during the installation. Both native 64-bit +compilers and 32-bit hosted cross compilers are included, so you do not need a +64-bit machine to use them (though you do to run the created executables). +Visual C++ Express Edition does not include 64-bit compilers. + +64-bit compilers are also available in various SDKs, for example +the .NET Framework SDK: + http://msdn.microsoft.com/netframework/programming/64bit/devtools/ + +Using project files: + +1. Open the VC++ 6 workspace file: build\msw\wx.dsw. Visual Studio will then + convert the projects to the current Visual C++ project format. + +2. To add 64-bit targets, go to the 'Build' menu and choose 'Configuration + Manager...'. In the 'Active solution platform' drop down choose '', + then you can choose either 'Itanium' or 'x64'. + + For more detailed instructions see: + http://msdn2.microsoft.com/en-us/library/9yb4317s(en-us,vs.80).aspx + + Note: 64-bit targets created this way will use the build directory of the + corresponding 32-bit target for some files. Therefore after building + for one CPU it is necessary to clean the build before building the + equivalent target for another CPU. We've reported the problem to MS + but they say it is not possible to fix it. + +3. To build, go to the 'Build' menu and choose 'Batch Build...'. Tick all the + all the 'x64|Debug' or all the 'Itanium|Debug' projects, and click 'Build'. + + This will build a debug version of the static libs. The section above on + Visual C++ in general has more information about adjusting the settings to + build other configurations. + +4. To compile one of the samples open one of the sample projects, such as + samples\minimal\minimal.dsw. Visual Studio will convert the project as in + step 1, then add a 64-bit target as in step 2, and build. + +Using makefiles: + +1. Open a 64-bit build command prompt, for either x64 or Itanium. Change + directory to build\msw. Then for x64 type: + + nmake -f makefile.vc TARGET_CPU=AMD64 + + or for Itanium: + + nmake -f makefile.vc TARGET_CPU=IA64 -Compiling using the makefiles (updated 24 Sept 02): + This will build a debug version of wxWidgets DLLs. See "Configuring the + build" for instruction how to build other configurations such as a release + build or static libraries. + +2. Change to the directory of one of the samples such as samples\minimal. Type + the same command used to build the main library, for example for x64: + + nmake -f makefile.vc TARGET_CPU=AMD64 + +Notes: + +The versions of the VC++ 8 compiler included with some SDKs requires an +additional library to be linked or the following error is received. + + LNK2001 unresolved external symbol __security_check_cookie + +If you receive this error add bufferoverflowu.lib to link, e.g.: + + nmake -f makefile.vc TARGET_CPU=AMD64 LDFLAGS=bufferoverflowu.lib + +See http://support.microsoft.com/?id=894573 for more information. + +Borland C++ compilation +---------------------------------------------------------------- + +The minimum version required is 5.5 (last version supported by BC++ 5.0 was +2.4.2), which can be downloaded for free from: +http://www.borland.com/products/downloads/download_cbuilder.html# + +Compiling using the makefiles: 1. Change directory to build\msw. Type 'make -f makefile.bcc' to make the wxWidgets core library. Ignore the compiler warnings. @@ -211,11 +299,11 @@ recompile wxWidgets. The same applies if compiling using the IDE. Note (3): If you wish debug messages to be sent to the console in debug mode, edit makefile.bcc and change /aa to /Tpe in link commands. -Compiling using the IDE files for Borland C++ 5.0: not supported - please -use version 2.4.1 (using the make utility in commandline mode works fine_ +Cmpilation succeeds with CBuilderX personal edition and CBuilder6, but +you may have to copy make.exe from the 5.5 download to the new bin directory. +Compiling using the IDE files for Borland C++ 5.0 and using CBuilder IDE +(v1-v6): not supported -Compiling using CBuilder (v1-v6): not supported - please -use version 2.4.1 (using the make utility in commandline mode works fine_ ** REMEMBER ** @@ -230,13 +318,13 @@ the following preprocessor directive: more details) Borland 16 Bit compilation for Windows 3.1 ------------------------------------------- +---------------------------------------------------------------- The last version of wxWidgets to support 16-bit compilation with Borland was 2.2.7 - Please download and read the instructions in that release Watcom C++ 10.6/11 and OpenWatcom compilation ---------------------------------------------- +---------------------------------------------------------------- 1. Change directory to build\msw. Type 'wmake -f makefile.wat' to make the wxWidgets core library. @@ -259,11 +347,24 @@ Note (4): if Watcom can't read the precompiled header when building a sample, try deleting .pch files in build\msw\wat_* and compiling the sample again. +Note (5): wxUSE_STD_STRING is disabled in wx/string.h for Watcom as this + compiler doesn't come with standard C++ library headers by default. + If you install STLPort or another STL implementation, you'll need to + edit wx/string.h and remove the check for Digital Mars in it (search + for __WATCOM__). + + Metrowerks CodeWarrior compilation ----------------------------------- +---------------------------------------------------------------- -1. CodeWarrior Pro7 project files in XML format are already - included in wxMSW-2.5.3.zip and the setup version. +** NOTE: We don't use Metrowerks compiler any more and so depend on +** your contributions to keep it up to date. It is possible that +** the project files mentioned below are out of date due to recently +** added files, please add them manually if you get linking errors. +** The authoritative list of files is in build/bakefiles/files.bkl + +1. CodeWarrior Pro 7 project files in XML format are already + included in wxMSW-2.7.2.zip and the setup version. 2. Review the file include\wx\msw\setup.h (or include\wx\msw\setup0.h if you are working from the CVS version) to make sure the settings reflect @@ -324,9 +425,9 @@ Metrowerks CodeWarrior compilation Cygwin/MinGW compilation ------------------------- +---------------------------------------------------------------- -wxWidgets 2 supports Cygwin (formerly GnuWin32) betas and +wxWidgets supports Cygwin (formerly GnuWin32) betas and releases, and MinGW. Cygwin can be downloaded from: http://sources.redhat.com/cygwin/ @@ -353,21 +454,18 @@ If using MinGW, you can download the add-on MSYS package to provide Unix-like tools that you'll need to build wxWidgets using configure. Using makefiles directly ------------------------- +---------------------------------------------------------------- NOTE: The makefile.gcc makefiles are for compilation under MinGW using - native make and Windows command interpreter (command.com/cmd.exe), they - won't work in other environments (such as UNIX or Unix-like, e.g. MSYS; - you have to use configure instead) + Windows command interpreter (command.com/cmd.exe), they won't work in + other environments (such as UNIX or Unix-like, e.g. MSYS where you have + to use configure instead, see the section below) Here are the steps required using the provided makefiles: - If you are using gcc-2.95, edit build\msw\config.gcc and set the GCC_VERSION variable to "2.95". -- If you are compiling with GCC 3.x using makefiles and with wxUSE_STL == 1 - you need to manually add -DNO_GCC_PRAGMA to CXXFLAGS in config.gcc. - - Use the makefile.gcc files for compiling wxWidgets and samples, e.g. to compile a debugging version of wxWidgets: > cd c:\wx\build\msw @@ -385,7 +483,7 @@ All targets have 'clean' targets to allow removal of object files and other intermediate compiler files. Using configure ---------------- +---------------------------------------------------------------- Instead of using the makefiles, you can use the configure system to generate appropriate makefiles, as used on Unix @@ -401,7 +499,7 @@ For example: cd build-debug ../configure --with-msw --enable-debug --enable-debug_gdb --disable-shared make - make install % This step is optional, see note (8) below. + make install % This step is optional, see note (6) below. cd samples/minimal make ./minimal.exe @@ -463,6 +561,10 @@ Notes: flagged when the program quits. You can use Cygwin gdb to debug MinGW executables. +8. Note that gcc's precompiled headers do not work on current versions of + Cygwin. If your version of Cygwin is affected you will need to use the + --disable-precomp-headers configure option. + OLD VERSIONS: - Modify the file wx/src/cygnus.bat (or mingw32.bat or mingegcs.bat) @@ -479,7 +581,8 @@ OLD VERSIONS: Symantec & DigitalMars C++ compilation --------------------------------------- +---------------------------------------------------------------- + The DigitalMars compiler is a free succssor to the Symantec compiler and can be downloaded from http://www.digitalmars.com/ @@ -504,10 +607,16 @@ using bakefile tool according to the instructions in build\bakefiles\README: bakefile_gen -f dmars -b ../../samples/minimal/minimal.bkl +Note that wxUSE_STD_STRING is disabled in wx/string.h for Digital Mars as this +compiler doesn't come with standard C++ library headers by default. If you +install STLPort or another STL implementation, you'll need to edit wx/string.h +and remove the check for Digital Mars in it (search for __DMC__). + + 16-bit compilation is no longer supported. Configuring the build -===================== +================================================================ So far the instructions only explained how to build release DLLs of wxWidgets and did not cover any configuration. It is possible to change many aspects of @@ -517,7 +626,7 @@ and the only difference between them is in object files and library directory names and in make invocation command. Changing the settings ---------------------- +---------------------------------------------------------------- There are two ways to modify the settings: either by passing the values as arguments when invoking make or by editing build\msw\config.$(compiler) file @@ -546,25 +655,31 @@ Watcom C/C++: MinGW using native makefiles: > mingw32-make -f makefile.gcc BUILD=debug UNICODE=1 -MinGW using configure or Cygwin: +MinGW using configure: > ./configure --enable-debug --enable-unicode (see ./configure --help on details; configure is not covered in this section) +Cygwin using configure: + > ./configure --disable-precomp-headers --enable-debug --enable-unicode + (use --disable-precomp-headers if Cygwin doesn't support precompiled + headers) + Brief explanation of options and possible values is in every build\msw\config.* file; more detailed description follows. Basic options -------------- +---------------------------------------------------------------- -BUILD=debug - Builds debug version of the library (default is 'release'). This affects - name of the library ('d' is appended), __WXDEBUG__ is defined and debug - information compiled into object files and the executable. +BUILD=release + Builds release version of the library. It differs from default 'debug' + in lack of appended 'd' in name of library, does not define __WXDEBUG__ + and not include debug information compiled into object files and the + executable. -SHARED=0 - Build static libraries instead of DLLs. By default, DLLs are built - (SHARED=1). +SHARED=1 + Build shared libraries (DLLs). By default, DLLs are not built + (SHARED=0). UNICODE=1 To build Unicode versions of the libraries, add UNICODE=1 to make invocation @@ -579,7 +694,7 @@ WXUNIV=1 http://www.wxwidgets.org/wxuniv.htm for more information). Advanced options ----------------- +---------------------------------------------------------------- MONOLITHIC=1 Starting with version 2.5.1, wxWidgets has the ability to be built as @@ -657,7 +772,7 @@ CFG= directories" below for more information. Compiler specific options -------------------------- +---------------------------------------------------------------- * MinGW @@ -679,7 +794,7 @@ DEBUG_RUNTIME_LIBS=1 setting makes it possible. Fine-tuning the compiler ------------------------- +---------------------------------------------------------------- All makefiles have variables that you can use to specify additional options passed to the compiler or linker. You won't need this in most cases, but if you @@ -687,7 +802,7 @@ do, simply add desired flags to CFLAGS (for C compiler), CXXFLAGS (for C++ compiler), CPPFLAGS (for both C and C++ compiler) and LDFLAGS (the linker). Object and library directories ------------------------------- +---------------------------------------------------------------- All object files produced during library build are stored in a directory under build\msw. It's name is derived from build settings and CFG variable and from @@ -737,7 +852,7 @@ enabled (without CFG, both of them would be put into same directory and there would be conflicts between the files). General Notes -============= +================================================================= - Debugging: under Windows 95, debugging output isn't output in the same way that it is under NT or Windows 3.1.