Update: With the March 2012 release of Expat 2.1.0, Expat now supports building with CMake, and these build files are no longer necessary. After installing CMake and downloading and extracting the Expat tarball, just do the following to build solution and project files for Visual Studio 11 (aka 2012) Win64 from the Developer Command Prompt for VS2012:
C:\dev\expat-2.1.0\build>cmake .. -G "Visual Studio 11 Win64"
-- The C compiler identification is MSVC 17.0.50727.1
-- The CXX compiler identification is MSVC 17.0.50727.1
-- Check for working C compiler using: Visual Studio 11 Win64
-- Check for working C compiler using: Visual Studio 11 Win64 -- works
-- Configuring done
-- Generating done
-- Build files have been written to: C:/dev/expat-2.1.0/build
C:\dev\expat-2.1.0\build>msbuild expat.sln /p:Configuration=Release
Microsoft (R) Build Engine version 4.0.30319.17929
[Microsoft .NET Framework, version 4.0.30319.17929]
Copyright (C) Microsoft Corporation. All rights reserved.
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
Build started 2/20/2013 10:42:23 AM.
Project "C:\dev\expat-2.1.0\build\expat.sln" on node 1 (default targets).
Building solution configuration "Release|x64".
Time Elapsed 00:00:03.38
expat.dll will be in the Release directory. CMake supports generating project files for versions as old as Visual Studio 6, so this approach completely replaces the need for building project files by hand.