Martin Prikryl 7c0ad274db Expat 2.7.3 1 month ago
..
MANIFEST.txt 89deeaf834 Expat 2.2.10 5 years ago
README.txt 7c0ad274db Expat 2.7.3 4 weeks ago
build_expat_iss.bat 7c0ad274db Expat 2.7.3 4 weeks ago
expat.iss 7c0ad274db Expat 2.7.3 4 weeks ago
version.rc.cmake 9d9488be02 Expat 2.6.0 1 year ago

README.txt


Expat can be built on Windows in two ways:
using MS Visual Studio .NET or Cygwin.

* Cygwin:
This follows the Unix build procedures.

* MS Visual Studio 2022:
Use CMake to generate a solution file for Visual Studio, then use msbuild
to compile. For example:

md build
cd build
cmake -G"Visual Studio 17 2022" -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
msbuild /m expat.sln

* All MS C/C++ compilers:
The output for all projects will be generated in the \
and xmlwf\\ directories.

* Creating MinGW dynamic libraries from MS VC++ DLLs:

On the command line, execute these steps:
pexports libexpat.dll > expat.def
pexports libexpatw.dll > expatw.def
dlltool -d expat.def -l libexpat.a
dlltool -d expatw.def -l libexpatw.a

The *.a files are mingw libraries.

* Special note about MS VC++ and runtime libraries:

There are three possible configurations: using the
single threaded or multithreaded run-time library,
or using the multi-threaded run-time Dll. That is,
one can build three different Expat libraries depending
on the needs of the application.

Dynamic Linking:

By default the Expat Dlls are built to link dynamically
with the multi-threaded run-time library.
The libraries are named
- libexpat(w).dll
- libexpat(w).lib (import library)
The "w" indicates the UTF-16 version of the library.

Versions that are statically linking with the multi-threaded run-time library
can be built with -DEXPAT_MSVC_STATIC_CRT=ON.

Static Linking: (through -DEXPAT_SHARED_LIBS=OFF)

The libraries should be named like this:
Multi-threaded: libexpat(w)MT.lib
Multi-threaded Dll: libexpat(w)MD.lib
The suffixes conform to the compiler switch settings
/MT and /MD for MS VC++.

An application linking to the static libraries must
have the global macro XML_STATIC defined.