1LZ4 Windows binary package 2==================================== 3 4#### The package contents 5 6- `lz4.exe` : Command Line Utility, supporting gzip-like arguments 7- `dll\msys-lz4-1.dll` : The DLL of LZ4 library, compiled by msys 8- `dll\liblz4.dll.a` : The import library of LZ4 library for Visual C++ 9- `example\` : The example of usage of LZ4 library 10- `include\` : Header files required with LZ4 library 11- `static\liblz4_static.lib` : The static LZ4 library 12 13 14#### Usage of Command Line Interface 15 16Command Line Interface (CLI) supports gzip-like arguments. 17By default CLI takes an input file and compresses it to an output file: 18``` 19 Usage: lz4 [arg] [input] [output] 20``` 21The full list of commands for CLI can be obtained with `-h` or `-H`. The ratio can 22be improved with commands from `-3` to `-16` but higher levels also have slower 23compression. CLI includes in-memory compression benchmark module with compression 24levels starting from `-b` and ending with `-e` with iteration time of `-i` seconds. 25CLI supports aggregation of parameters i.e. `-b1`, `-e18`, and `-i1` can be joined 26into `-b1e18i1`. 27 28 29#### The example of usage of static and dynamic LZ4 libraries with gcc/MinGW 30 31Use `cd example` and `make` to build `fullbench-dll` and `fullbench-lib`. 32`fullbench-dll` uses a dynamic LZ4 library from the `dll` directory. 33`fullbench-lib` uses a static LZ4 library from the `lib` directory. 34 35 36#### Using LZ4 DLL with gcc/MinGW 37 38The header files from `include\` and the dynamic library `dll\msys-lz4-1.dll` 39are required to compile a project using gcc/MinGW. 40The dynamic library has to be added to linking options. 41It means that if a project that uses LZ4 consists of a single `test-dll.c` 42file it should be linked with `dll\msys-lz4-1.dll`. For example: 43``` 44 gcc $(CFLAGS) -Iinclude\ test-dll.c -o test-dll dll\msys-lz4-1.dll 45``` 46The compiled executable will require LZ4 DLL which is available at `dll\msys-lz4-1.dll`. 47 48 49#### The example of usage of static and dynamic LZ4 libraries with Visual C++ 50 51Open `example\fullbench-dll.sln` to compile `fullbench-dll` that uses a 52dynamic LZ4 library from the `dll` directory. The solution works with Visual C++ 532010 or newer. When one will open the solution with Visual C++ newer than 2010 54then the solution will be upgraded to the current version. 55 56 57#### Using LZ4 DLL with Visual C++ 58 59The header files from `include\` and the import library `dll\liblz4.dll.a` 60are required to compile a project using Visual C++. 61 621. The header files should be added to `Additional Include Directories` that can 63 be found in project properties `C/C++` then `General`. 642. The import library has to be added to `Additional Dependencies` that can 65 be found in project properties `Linker` then `Input`. 66 If one will provide only the name `liblz4.dll.a` without a full path to the library 67 the directory has to be added to `Linker\General\Additional Library Directories`. 68 69The compiled executable will require LZ4 DLL which is available at `dll\msys-lz4-1.dll`. 70