mirror of
https://github.com/facebook/zstd.git
synced 2025-12-08 00:03:24 -05:00
In commit 031de3c69ccbf3282ed02fb49369b476730aeca8 a feature of Meson 0.50.0 was added, but the minimum specified version of Meson is 0.48.0. Meson therefore emitted a warning: WARNING: Project targets '>=0.48.0' but uses feature introduced in '0.50.0': required arg in compiler.has_header. And if anyone actually used Meson 0.48.0 to build with, it would error out with mysterious claims that the build file itself is invalid, rather than telling the user to install a newer version of Meson. Solve this by bumping the minimum version to align with reality. This e.g. drops support for Debian oldstable (buster)'s packaged version of Meson, but still works if backports are enabled, or if the user can `pip install` a newer version.
Projects for various integrated development environments (IDE)
Included projects
The following projects are included with the zstd distribution:
cmake- CMake project contributed by Artyom DymchenkoVS2005- Visual Studio 2005 Project (this project has been moved to the contrib directory and will no longer be supported)VS2008- Visual Studio 2008 projectVS2010- Visual Studio 2010 project (which also works well with Visual Studio 2012, 2013, 2015)VS_scripts- command line scripts prepared for Visual Studio compilation without IDE
How to compile zstd with Visual Studio
- Install Visual Studio e.g. VS 2015 Community Edition (it's free).
- Download the latest version of zstd from https://github.com/facebook/zstd/releases
- Decompress ZIP archive.
- Go to decompressed directory then to
projectsthenVS2010and openzstd.sln - Visual Studio will ask about converting VS2010 project to VS2015 and you should agree.
- Change
DebugtoReleaseand if you have 64-bit Windows change alsoWin32tox64. - Press F7 on keyboard or select
BUILDfrom the menu bar and chooseBuild Solution. - If compilation will be fine a compiled executable will be in
projects\VS2010\bin\x64\Release\zstd.exe
Projects available within zstd.sln
The Visual Studio solution file visual\VS2010\zstd.sln contains many projects that will be compiled to the
visual\VS2010\bin\$(Platform)_$(Configuration) directory. For example zstd set to x64 and
Release will be compiled to visual\VS2010\bin\x64_Release\zstd.exe. The solution file contains the
following projects:
zstd: Command Line Utility, supporting gzip-like argumentsdatagen: Synthetic and parametrable data generator, for testsfullbench: Precisely measure speed for each zstd inner functionsfuzzer: Test tool, to check zstd integrity on target platformlibzstd: A static ZSTD library compiled tolibzstd_static.liblibzstd-dll: A dynamic ZSTD library (DLL) compiled tolibzstd.dllwith the import librarylibzstd.libfullbench-dll: The fullbench program compiled with the import library; the executable requires ZSTD DLL
Using ZSTD DLL with Microsoft Visual C++ project
The header file lib\zstd.h and the import library
visual\VS2010\bin\$(Platform)_$(Configuration)\libzstd.lib are required to compile
a project using Visual C++.
- The path to header files should be added to
Additional Include Directoriesthat can be found in Project Properties of Visual Studio IDE in theC/C++Property Pages on theGeneralpage. - The import library has to be added to
Additional Dependenciesthat can be found in Project Properties in theLinkerProperty Pages on theInputpage. If one will provide only the namelibzstd.libwithout a full path to the library then the directory has to be added toLinker\General\Additional Library Directories.
The compiled executable will require ZSTD DLL which is available at
visual\VS2010\bin\$(Platform)_$(Configuration)\libzstd.dll.