diff options
Diffstat (limited to 'windows/INSTALL-MSVC.txt')
-rw-r--r-- | windows/INSTALL-MSVC.txt | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/windows/INSTALL-MSVC.txt b/windows/INSTALL-MSVC.txt new file mode 100644 index 0000000..2fdd1e7 --- /dev/null +++ b/windows/INSTALL-MSVC.txt @@ -0,0 +1,56 @@ + +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 +-------- + + It is recommended to use CMake to generate build files for MSVC. + The project files in vs201x directories will be removed in the + future (5.4.x releases will include them still). + + Descriptions of the files in the vs201x directories: + + 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. + + The VS2017 project files don't set <WindowsTargetPlatformVersion>. + This means that you may need to either install Windows SDK 8.1 or + you may need to set the target platform version before building. + + Currently no test programs are built or run under MSVC from the + project files. CMake-based builds include tests too. + + +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>. + + 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. + |