]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/msw/install.txt
supporting alignment in single line controls, see #14452
[wxWidgets.git] / docs / msw / install.txt
index 40effa58ec1d60c76930b212a86f4d3001139702..c6293f691c95d28ba92e23171f844583b0a1ddb5 100644 (file)
@@ -24,8 +24,15 @@ fixing the problems so this ensures that your report will be
 addressed sooner.
 
 
-Unarchiving
-===========
+Table of Contents:
+ - Installation
+ - Building wxWidgets
+ - Configuring the Build
+ - Building Applications Using wxWidgets
+
+
+Installation
+============
 
 Please simply uncompress the .zip file manually into any directory.
 However we advise avoiding using directories with spaces in their
@@ -33,9 +40,6 @@ names (notably "C:\Program Files") as this risks creating problems
 with makefiles and other command-line tools.
 
 
-Configuration
-=============
-
 In the majority of cases, you don't need to change the default
 library build configuration. If you wish to change some of the build
 options you need to edit the include/wx/msw/setup.h file enabling or
@@ -50,13 +54,21 @@ Notice that this file is later copied into a directory under lib for
 each of the build configurations which allows to have different
 build options for different configurations too.
 
+See "Configuring the Build" section for more information.
 
-Compilation
-===========
+
+Building wxWidgets
+==================
 
 The following sections explain how to compile wxWidgets with each supported
-compiler. Search for one of Microsoft/Borland/Watcom/Symantec/Metrowerks/
-Cygwin/Mingw32 to quickly locate the instructions for your compiler.
+compiler, see the "Building Applications" section about the instructions for
+building your application using wxWidgets.
+
+Search for one of Microsoft/Borland/Watcom/Symantec/Cygwin/Mingw32 keywords
+to quickly locate the instructions for your compiler. Notice that the primary
+compilers for wxWidgets under MSW are Microsoft Visual C++ and GNU g++, other
+compilers are more rarely tested and might not work so please consider using
+one of these two if possible.
 
 All makefiles and project are located in build\msw directory.
 
@@ -367,76 +379,6 @@ Note (4): wxUSE_STD_STRING is disabled in wx/string.h for Watcom as this
           for __WATCOM__).
 
 
-Metrowerks CodeWarrior Compilation
-----------------------------------------------------------------
-
-** 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.8.x.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 SVN version) to make sure the settings reflect
-   what you want.  If you aren't sure, leave it alone and go with the
-   default settings.  A few notes:
-       - Don't use wxUSE_DEBUG_NEW_ALWAYS: it doesn't mix well with MSL
-       - wxUSE_GLOBAL_MEMORY_OPERATORS works, but memory leak reports
-         will be rather confusing due to interactions with the MSL ANSI
-         and runtime libs.
-
-3. The project file to build the Win32 wxWidgets libraries relies on the
-   Batch File Runner plug-in. This plug-in is not installed as part of
-   a normal CW7 installation. However, you can find this plug-in on the
-   CodeWarrior Reference CD, in the Thrill Seekers folder; it's called the
-   "Batch File Post Linker".
-
-4. If you choose not to install the Batch File Runner plug-in, then you
-   need to do the following by hand:
-      (1) Create the directories lib\cw7msw\include\wx and copy the file
-          include\wx\msw\setup.h (or include\wx\msw\setup0.h if you are
-          working from the SVN version) to lib\cw7msw\include\wx\setup.h
-      (2) Create the directories lib\cw7mswd\include\wx and copy the file
-          include\wx\msw\setup.h (or include\wx\msw\setup0.h if you are
-          working from the SVN version) to lib\cw7mswd\include\wx\setup.h
-
-5. Import src\wxWidgetsW7.xml to create the project file wxWidgetsW7.mcp.
-   Store this project file in directory src.  You may get warnings about
-   not being able to find certain project paths; ignore these warnings, the
-   appropriate paths will be created during the build by the Batch File Runner.
-
-6. Choose the wxlib Win32 debug or wxlib Win32 Release target and build.  You
-   will get some warnings about hidden virtual functions, illegal conversions
-   from const pointers to pointers, etc., all of which you can safely ignore.
-   ***Note:  if you get errors that the compiler can't find "wx/setup.h", just
-   stop the build and build again.  These errors occur because sometimes the
-   compiler starts doing its thing before the copying of setup.h has completed.
-
-7. The following libraries will be produced depending on chosen
-   target:
-       - wx_x86.lib             ANSI Release (static)
-       - wx_x86_d.lib           ANSI Debug (static)
-
-8. Sorry, I haven't had time yet to create and test Unicode or DLL versions.
-   Volunteers for this are welcome (as neither DLLs nor Unicode builds are
-   big priorities for me ;).
-
-9. CodeWarrior Pro7 project files (in XML format) are also provided for some
-   of the samples.  In particular, there are project files for the minimal,
-   controls, dialogs, dnd, nd docview samples.  You can use these project
-   files as templates for the other samples and for your own projects.
-       - For example, to make a project file for the "grid" sample,
-         just copy the project file for the "minimal" sample, minimalW7.mcp
-         (made by importing minimalW7.xml into CodeWarrior), into the
-         sample/grid directory, calling it gridW7.mcp.  Open
-         newgridW7.mcp and revise the project by deleting the files
-         minimal.rc and minimal.cpp and adding the files griddemo.rc and
-         griddemo.cpp.  Build and run....
-
-
 Cygwin/MinGW Compilation
 ----------------------------------------------------------------
 
@@ -874,10 +816,40 @@ you to have two static debug builds, one with wxUSE_SOCKETS=0 and one with socke
 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.
-  Please see DebugView available from http://www.sysinternals.com.
 
+Building Applications Using wxWidgets
+=====================================
+
+NB: The makefiles and project files provided with wxWidgets samples show which
+    flags should be used when building applications using wxWidgets so in case
+    of a problem, e.g. if the instructions here are out of date, you can always
+    simply copy a makefile or project file from samples\minimal or some other
+    sample and adapt it to your application.
+
+Independently of the compiler and make/IDE you are using you must do the
+following to use wxWidgets:
+
+* Add $WXWIN/include to the
+  - compiler
+  - resource compiler
+  include paths.
+* Define the following symbols for the preprocessor:
+  - __WXMSW__ to ensure you use the correct wxWidgets port.
+  - _UNICODE unless you want to use deprecated ANSI build of wxWidgets.
+  - NDEBUG if you want to build in release mode, i.e. disable asserts.
+  - WXUSINGDLL if you are using DLL build of wxWidgets.
+* Add $WXWIN/lib/prefix_lib-or-dll to the libraries path. The prefix depends
+  on the compiler, by default it is "vc" for MSVC, "gcc" for g++ and so on.
+* Add the list of libraries to link with to the linker input. The exact list
+  depends on which libraries you use and whether you built wxWidgets in
+  monolithic or default multlib mode and basically should include all the
+  relevant libraries from the directory above, e.g. "wxmsw29ud_core.lib
+  wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib
+  wxexpatd.lib" for a debug build of an application using the core library only
+  (all wxWidgets applications use the base library).
+
+
+Microsoft Visual C++ users can simplify the linker setup by prepending the
+directory $WXWIN/msvc to the include path (it must come before $WXWIN/include
+directory!) and omitting the last step: the required libraries will be linked
+in automatically using the "#pragma comment(lib)" feature of this compiler.