aboutsummaryrefslogtreecommitdiff
path: root/windows/INSTALL-MSVC.txt
diff options
context:
space:
mode:
Diffstat (limited to 'windows/INSTALL-MSVC.txt')
-rw-r--r--windows/INSTALL-MSVC.txt47
1 files changed, 47 insertions, 0 deletions
diff --git a/windows/INSTALL-MSVC.txt b/windows/INSTALL-MSVC.txt
new file mode 100644
index 00000000..7dd31685
--- /dev/null
+++ b/windows/INSTALL-MSVC.txt
@@ -0,0 +1,47 @@
+
+Building XZ Utils with Microsoft Visual Studio
+==============================================
+
+Introduction
+------------
+
+ MSVC 2013 update 2 and later have enough C99 support to build
+ liblzma from XZ Utils 5.2.0 and later without modifications.
+ Older MSVC versions would require a large number of changes to
+ the XZ Utils code and thus the old MSVC versions aren't supported.
+
+ As of 2015-06-19, some work has been done to get xz.exe and other
+ command line tools built with MSVC, but it's not complete enough
+ to be included in XZ Utils.
+
+
+Building
+--------
+
+ The following files in this directory are for MSVC:
+
+ config.h liblzma configuration #defines for MSVC.
+ liblzma.vcxproj This builds static liblzma.
+ liblzma_dll.vcxproj This builds liblzma.dll.
+ xz_win.sln Solution using the above project files.
+
+ The projects have x86 and x86-64 platform configurations, as well
+ as a Debug, Release, and ReleaseMT configuration -- MT is the
+ compiler switch to link to the CRT statically, so it will not
+ have any other DLL dependencies.
+
+ Currently no test programs are built or run under MSVC.
+
+ 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.
+
+
+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>.
+