2015-06-19 17:21:30 +00:00
|
|
|
|
|
|
|
Building XZ Utils with Microsoft Visual Studio
|
|
|
|
==============================================
|
|
|
|
|
|
|
|
Introduction
|
|
|
|
------------
|
|
|
|
|
2023-09-12 20:53:25 +00:00
|
|
|
liblzma got MSVC support in XZ Utils 5.2.0, and the xz and xzdec
|
|
|
|
command line tools in XZ Utils 5.6.0.
|
|
|
|
|
|
|
|
Note: xz and xzdec depend on the the included GNU getopt
|
|
|
|
which is licensed under the GNU LGPLv2.1.
|
|
|
|
|
2015-06-19 17:21:30 +00:00
|
|
|
MSVC 2013 update 2 and later have enough C99 support to build
|
|
|
|
liblzma from XZ Utils 5.2.0 and later without modifications.
|
|
|
|
|
2023-09-12 20:53:25 +00:00
|
|
|
Visual Studio 2015 or later is required to build the command line
|
|
|
|
tools.
|
2015-06-19 17:21:30 +00:00
|
|
|
|
|
|
|
|
|
|
|
Building
|
|
|
|
--------
|
|
|
|
|
2023-01-09 22:33:14 +00:00
|
|
|
It is recommended to use CMake to generate build files for MSVC.
|
2023-09-12 20:53:25 +00:00
|
|
|
Visual Studio project files are no longer provided (XZ Utils 5.4.x
|
|
|
|
were the last versions to include the project files).
|
2019-01-13 15:29:23 +00:00
|
|
|
|
2023-09-12 20:53:25 +00:00
|
|
|
CMake-based build includes tests for liblzma but not for the
|
|
|
|
command line tools.
|
2015-06-19 17:21:30 +00:00
|
|
|
|
|
|
|
|
|
|
|
Notes
|
|
|
|
-----
|
|
|
|
|
|
|
|
liblzma API headers declare the functions with __declspec(dllimport)
|
|
|
|
by default. To avoid this when using static liblzma from your code,
|
|
|
|
#define LZMA_API_STATIC before #including <lzma.h>.
|
|
|
|
|
2023-01-09 22:33:14 +00:00
|
|
|
MSVC gives a bunch of compiler warnings. Some warnings are specific
|
|
|
|
to 32-bit or 64-bit build and some appear for both builds. These
|
|
|
|
are known and shouldn't be a problem. Some of them will probably
|
|
|
|
be fixed in the future.
|
|
|
|
|