X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/76e15cbd7202166dafff227a484be9edcf88d0c7..d68a2a24d1d25542974045f0bff3f035c192e5bb:/docs/msw/install.txt diff --git a/docs/msw/install.txt b/docs/msw/install.txt index 40effa58ec..c6293f691c 100644 --- a/docs/msw/install.txt +++ b/docs/msw/install.txt @@ -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.