Update MSW installation instructions for 2.9.
Remove all mentions of 16 bit build. Update the list of supported compilers and their versions. Update Unicode build description. Closes #11908. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72557 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -126,11 +126,10 @@ Microsoft Visual C++ Compilation
|
|||||||
You may wish to visit http://wiki.wxwidgets.org/Microsoft_Visual_C%2B%2B_Guide
|
You may wish to visit http://wiki.wxwidgets.org/Microsoft_Visual_C%2B%2B_Guide
|
||||||
for a more informal and detailed description of the process summarized below.
|
for a more informal and detailed description of the process summarized below.
|
||||||
|
|
||||||
Please note that the VC++ 6.0 project files will work for VC++ .NET as well.
|
Please note that currently ready to use projeect files are provided for VC++
|
||||||
|
versions 6 through to 9 (also known as 6, 2003, 2005 and 2008). For VC++ 10 and
|
||||||
VC++ 5.0 can also be used, providing Service Pack 3 is applied. Without it
|
11 (2010 and 2012, respectively), you will need to import the existing VC9
|
||||||
you will have trouble with internal compiler errors. It is available for
|
project files.
|
||||||
download at: ftp://ftp.microsoft.com/developr/visualstudio/sp3/full.
|
|
||||||
|
|
||||||
Using project files (VC++ 6 and later):
|
Using project files (VC++ 6 and later):
|
||||||
|
|
||||||
@@ -139,7 +138,6 @@ Using project files (VC++ 6 and later):
|
|||||||
2. Open build\msw\wx.dsw, which has configurations for static
|
2. Open build\msw\wx.dsw, which has configurations for static
|
||||||
compilation or DLL compilation, and each of these available in
|
compilation or DLL compilation, and each of these available in
|
||||||
Unicode/ANSI, Debug/Release and wxUniversal or native variations.
|
Unicode/ANSI, Debug/Release and wxUniversal or native variations.
|
||||||
Normally you'll use a static linking ANSI configuration.
|
|
||||||
Choose the Win32 Debug or Win32 Release configuration (or any other that
|
Choose the Win32 Debug or Win32 Release configuration (or any other that
|
||||||
suits your needs) and use Batch Build to compile _all_ projects. If you
|
suits your needs) and use Batch Build to compile _all_ projects. If you
|
||||||
know you won't need some of the libraries (e.g. the HTML part), you don't have
|
know you won't need some of the libraries (e.g. the HTML part), you don't have
|
||||||
@@ -148,7 +146,7 @@ Using project files (VC++ 6 and later):
|
|||||||
|
|
||||||
If you want to build DLL configurations in wx.dsw project you unfortunately
|
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,
|
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,
|
base, net, core, gl, html, media, qa, adv, xrc, aui, richtext,
|
||||||
propgrid) manually because VC6 doesn't always respect the correct build order.
|
propgrid) manually because VC6 doesn't always respect the correct build order.
|
||||||
|
|
||||||
Alternatively, use the special wx_dll.dsw project which adds the
|
Alternatively, use the special wx_dll.dsw project which adds the
|
||||||
@@ -221,8 +219,8 @@ the .NET Framework SDK:
|
|||||||
|
|
||||||
Using project files:
|
Using project files:
|
||||||
|
|
||||||
1. Open the VC++ 6 workspace file: build\msw\wx.dsw. Visual Studio will then
|
1. Open the solution file for the version you use: build\msw\wx_vc8.sln or
|
||||||
convert the projects to the current Visual C++ project format.
|
wx_vc9.sln.
|
||||||
|
|
||||||
2. To add 64-bit targets, go to the 'Build' menu and choose 'Configuration
|
2. To add 64-bit targets, go to the 'Build' menu and choose 'Configuration
|
||||||
Manager...'. In the 'Active solution platform' drop down choose '<new>',
|
Manager...'. In the 'Active solution platform' drop down choose '<new>',
|
||||||
@@ -245,7 +243,7 @@ Using project files:
|
|||||||
build other configurations.
|
build other configurations.
|
||||||
|
|
||||||
4. To compile one of the samples open one of the sample projects, such as
|
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
|
samples\minimal\minimal_vc7.vcproj. Visual Studio will convert the project as in
|
||||||
step 1, then add a 64-bit target as in step 2, and build.
|
step 1, then add a 64-bit target as in step 2, and build.
|
||||||
|
|
||||||
Using makefiles:
|
Using makefiles:
|
||||||
@@ -346,12 +344,6 @@ the following preprocessor directive:
|
|||||||
(check the samples -- e.g., \wx2\samples\minimal\minimal.cpp -- for
|
(check the samples -- e.g., \wx2\samples\minimal\minimal.cpp -- for
|
||||||
more details)
|
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
|
Watcom C++ 10.6/11 and OpenWatcom Compilation
|
||||||
----------------------------------------------------------------
|
----------------------------------------------------------------
|
||||||
|
|
||||||
@@ -393,8 +385,7 @@ and MinGW from:
|
|||||||
|
|
||||||
Both Cygwin and MinGW can be used with configure (assuming you have MSYS
|
Both Cygwin and MinGW can be used with configure (assuming you have MSYS
|
||||||
installed in case of MinGW). You will need new enough MinGW version, preferably
|
installed in case of MinGW). You will need new enough MinGW version, preferably
|
||||||
MinGW 2.0 (ships with gcc3) or at least 1.0 (gcc-2.95.3). GCC versions older
|
MinGW 3.4.2+ (ships with gcc3).
|
||||||
than 2.95.3 don't work; you can use wxWidgets 2.4 with them.
|
|
||||||
|
|
||||||
NOTE: some notes specific to old Cygwin (< 1.1.x) are at the end of this
|
NOTE: some notes specific to old Cygwin (< 1.1.x) are at the end of this
|
||||||
section (see OLD VERSIONS)
|
section (see OLD VERSIONS)
|
||||||
@@ -464,16 +455,7 @@ Notes:
|
|||||||
2. libwx.a is 100 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).
|
debug info (-g0) and level 4 optimization (-O4).
|
||||||
|
|
||||||
3. If you get a link error under MinGW 2.95.2 referring to:
|
3. There's a bug in MinGW headers for some early distributions.
|
||||||
|
|
||||||
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 MinGW headers for some early distributions.
|
|
||||||
|
|
||||||
in include/windows32/defines.h, where it says:
|
in include/windows32/defines.h, where it says:
|
||||||
|
|
||||||
@@ -485,7 +467,7 @@ Notes:
|
|||||||
|
|
||||||
(a missing bracket).
|
(a missing bracket).
|
||||||
|
|
||||||
5. OpenGL support should work with MinGW as-is. However,
|
4. OpenGL support should work with MinGW as-is. However,
|
||||||
if you wish to generate import libraries appropriate either for
|
if you wish to generate import libraries appropriate either for
|
||||||
the MS OpenGL libraries or the SGI OpenGL libraries, go to
|
the MS OpenGL libraries or the SGI OpenGL libraries, go to
|
||||||
include/wx/msw/gl and use:
|
include/wx/msw/gl and use:
|
||||||
@@ -498,7 +480,7 @@ Notes:
|
|||||||
|
|
||||||
and similarly for glu[32].def.
|
and similarly for glu[32].def.
|
||||||
|
|
||||||
6. The 'make install' step is optional, and copies files
|
5. The 'make install' step is optional, and copies files
|
||||||
as follows:
|
as follows:
|
||||||
|
|
||||||
/usr/local/lib - wxmswXYZd.dll.a and wxmswXYZd.dll
|
/usr/local/lib - wxmswXYZd.dll.a and wxmswXYZd.dll
|
||||||
@@ -508,12 +490,12 @@ Notes:
|
|||||||
You may need to do this if using wx-config with the
|
You may need to do this if using wx-config with the
|
||||||
default root path.
|
default root path.
|
||||||
|
|
||||||
7. With Cygwin, you can invoke gdb --nw myfile.exe to
|
6. With Cygwin, you can invoke gdb --nw myfile.exe to
|
||||||
debug an executable. If there are memory leaks, they will be
|
debug an executable. If there are memory leaks, they will be
|
||||||
flagged when the program quits. You can use Cygwin gdb
|
flagged when the program quits. You can use Cygwin gdb
|
||||||
to debug MinGW executables.
|
to debug MinGW executables.
|
||||||
|
|
||||||
8. Note that gcc's precompiled headers do not work on current versions of
|
7. 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
|
Cygwin. If your version of Cygwin is affected you will need to use the
|
||||||
--disable-precomp-headers configure option.
|
--disable-precomp-headers configure option.
|
||||||
|
|
||||||
@@ -532,50 +514,26 @@ OLD VERSIONS:
|
|||||||
from e.g. the MinGW distribution, to a directory in your path.
|
from e.g. the MinGW distribution, to a directory in your path.
|
||||||
|
|
||||||
|
|
||||||
Symantec & DigitalMars C++ Compilation
|
DigitalMars C++ Compilation
|
||||||
----------------------------------------------------------------
|
----------------------------------------------------------------
|
||||||
|
|
||||||
The DigitalMars compiler is a free successor to the Symantec compiler
|
Digital Mars compiler is no longer updated as the project is discontinued.
|
||||||
and can be downloaded from http://www.digitalmars.com/
|
wxWidgets 2.8 was the last version to compile with this compiler.
|
||||||
|
|
||||||
1. You need to download and unzip in turn (later packages will overwrite
|
|
||||||
older files)
|
|
||||||
Digital Mars C/C++ Compiler Version 8.40 or later
|
|
||||||
Basic utilities
|
|
||||||
from http://www.digitalmars.com/download/freecompiler.html
|
|
||||||
|
|
||||||
2. Change directory to build\msw and type 'make -f makefile.dmc' to
|
|
||||||
make the wxWidgets core library.
|
|
||||||
|
|
||||||
3. Change directory to samples\minimal and type 'make -f makefile.dmc'
|
|
||||||
to make this sample. Most of the other samples also work.
|
|
||||||
|
|
||||||
|
|
||||||
Note that if you don't have the files makefile.dmc you may create them yourself
|
|
||||||
using bakefile tool according to the instructions in build\bakefiles\README:
|
|
||||||
|
|
||||||
cd build\bakefiles
|
|
||||||
bakefile_gen -f dmars -b wx.bkl
|
|
||||||
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
|
Configuring the Build
|
||||||
================================================================
|
================================================================
|
||||||
|
|
||||||
So far the instructions only explain how to build release DLLs of wxWidgets
|
So far the instructions only explain how to build release DLLs of wxWidgets
|
||||||
and did not cover any configuration. It is possible to change many aspects of
|
and did not cover any configuration. It is possible to change many aspects of
|
||||||
the build, including debug/release and ANSI/Unicode settings. All makefiles in
|
the build, including debug/release and static/dynamic settings.
|
||||||
build\msw directory use same options (with a few exceptions documented below)
|
|
||||||
and the only difference between them is in object files and library directory
|
Notice that in the previous versions of wxWidgets it was possible to build the
|
||||||
names and in make invocation command.
|
library in either ANSI or Unicode mode but in wxWidgets 2.9 and later only a
|
||||||
|
single, combined, build mode exists. It is still possible to set UNICODE=0 to
|
||||||
|
disable Unicode support entirely but it is strongly not recommended and should
|
||||||
|
be never necessary.
|
||||||
|
|
||||||
|
|
||||||
Changing the Settings
|
Changing the Settings
|
||||||
----------------------------------------------------------------
|
----------------------------------------------------------------
|
||||||
@@ -594,26 +552,26 @@ Examples of invoking make in Unicode debug build (other options described
|
|||||||
below are set analogically):
|
below are set analogically):
|
||||||
|
|
||||||
Visual C++:
|
Visual C++:
|
||||||
> nmake -f makefile.vc BUILD=debug UNICODE=1
|
> nmake -f makefile.vc BUILD=debug
|
||||||
|
|
||||||
Borland C++:
|
Borland C++:
|
||||||
> make -f makefile.bcc -DBUILD=debug -DUNICODE=1
|
> make -f makefile.bcc -DBUILD=debug
|
||||||
(Note that you have to use -D to set the variable, unlike in other make
|
(Note that you have to use -D to set the variable, unlike in other make
|
||||||
tools!)
|
tools!)
|
||||||
|
|
||||||
Watcom C/C++:
|
Watcom C/C++:
|
||||||
> wmake -f makefile.wat BUILD=debug UNICODE=1
|
> wmake -f makefile.wat BUILD=debug
|
||||||
|
|
||||||
MinGW using native makefiles:
|
MinGW using native makefiles:
|
||||||
> mingw32-make -f makefile.gcc BUILD=debug UNICODE=1
|
> mingw32-make -f makefile.gcc BUILD=debug
|
||||||
|
|
||||||
MinGW using configure:
|
MinGW using configure:
|
||||||
> ./configure --enable-debug --enable-unicode
|
> ./configure --enable-debug
|
||||||
(see ./configure --help on details; configure is not covered in this
|
(see ./configure --help on details; configure is not covered in this
|
||||||
section)
|
section)
|
||||||
|
|
||||||
Cygwin using configure:
|
Cygwin using configure:
|
||||||
> ./configure --disable-precomp-headers --enable-debug --enable-unicode
|
> ./configure --disable-precomp-headers --enable-debug
|
||||||
(use --disable-precomp-headers if Cygwin doesn't support precompiled
|
(use --disable-precomp-headers if Cygwin doesn't support precompiled
|
||||||
headers)
|
headers)
|
||||||
|
|
||||||
@@ -634,12 +592,13 @@ SHARED=1
|
|||||||
(SHARED=0).
|
(SHARED=0).
|
||||||
|
|
||||||
UNICODE=0
|
UNICODE=0
|
||||||
To build ANSI versions of the libraries, add UNICODE=0 to make invocation
|
To completely disable Unicode support (default is UNICODE=1). It should not
|
||||||
(default is UNICODE=1). If you want to be able to use Unicode version on
|
be necessary to do this unless, perhaps, you still wish to target Win9x
|
||||||
Windows9x, you will need to set MSLU=1 as well.
|
systems and can't use MSLU (which requires MSLU=1) for some reason.
|
||||||
|
|
||||||
This option affect name of the library ('u' is appended) and the directory
|
This option affect name of the library ('u' is appended in the default
|
||||||
where the library and setup.h are store (ditto).
|
Unicode build) and the directory where the library and setup.h are store
|
||||||
|
(ditto).
|
||||||
|
|
||||||
WXUNIV=1
|
WXUNIV=1
|
||||||
Build wxUniversal instead of native wxMSW (see
|
Build wxUniversal instead of native wxMSW (see
|
||||||
|
Reference in New Issue
Block a user