Clarified runtime linking issues.
[mirror-ossqm-expat.git] / win32 / README.txt
blob2aba645e022d2ee8633ad3b3f14f8c538ec22a63
2 Expat can be built on Windows in three ways: 
3   using MS Visual C++ 6, Borland C++ Builder 5 or Cygwin.
5 * Cygwin:
6   This follows the Unix build procedures.
8 * C++ Builder 5:
9   Possible with make files in the BCB5 subdirectory.
10   Details can be found in the ReadMe file located there.
12 * MS Visual C++ 6:
13   Based on workspace (.dsw) and project files (.dsp)
14   located in the lib subdirectory.
16 * Special note about MS VC++ and runtime libraries:
18   There are three possible configurations: using the
19   single threaded or multithreaded run-time library,
20   or using the multi-threaded run-time Dll. That is, 
21   one can build three different Expat libraries depending
22   on the needs of the application.
24   Dynamic Linking:
26   By default the Expat Dlls are built to link with the
27   multi-threaded run-time Dll. The libraries are named
28   - libexpat(w).dll 
29   - libexpat(w).lib (import library)
30   The "w" indicates the UTF-16 version of the library.
32   One rarely uses other versions of the Dll, but they can
33   be built easily by specifying a different RTL linkage in
34   the IDE on the C/C++ tab under the category Code Generation.
36   Static Linking:
38   The libraries should be named like this:
39   Single-theaded:     libexpat(w)ML.lib
40   Multi-threaded:     libexpat(w)MT.lib
41   Multi-threaded Dll: libexpat(w)MD.lib
42   The suffixes conform to the compiler switch settings
43   /ML, /MT and /MD for MS VC++.
45   By default, the expat-static and expatw-static projects are set up
46   to link dynamically against the multithreaded run-time library,
47   so they will build libexpatMT.lib or libexpatwMT.lib files.
49   To build the other versions of the static library, 
50   go to Project - Settings:
51   - specify a different RTL linkage on the C/C++ tab
52     under the category Code Generation.
53   - then, on the Library tab, change the output file name
54     accordingly, as described above
56   An application linking to the static libraries must
57   have the global macro XML_STATIC defined.
58