You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.9 KiB
70 lines
2.9 KiB
4 months ago
|
LZ4 Windows binary package
|
||
|
====================================
|
||
|
|
||
|
#### The package contents
|
||
|
|
||
|
- `lz4.exe` : Command Line Utility, supporting gzip-like arguments
|
||
|
- `dll\liblz4.dll` : The DLL of LZ4 library
|
||
|
- `dll\liblz4.lib` : The import library of LZ4 library for Visual C++
|
||
|
- `example\` : The example of usage of LZ4 library
|
||
|
- `include\` : Header files required with LZ4 library
|
||
|
- `static\liblz4_static.lib` : The static LZ4 library
|
||
|
|
||
|
|
||
|
#### Usage of Command Line Interface
|
||
|
|
||
|
Command Line Interface (CLI) supports gzip-like arguments.
|
||
|
By default CLI takes an input file and compresses it to an output file:
|
||
|
```
|
||
|
Usage: lz4 [arg] [input] [output]
|
||
|
```
|
||
|
The full list of commands for CLI can be obtained with `-h` or `-H`. The ratio can
|
||
|
be improved with commands from `-3` to `-16` but higher levels also have slower
|
||
|
compression. CLI includes in-memory compression benchmark module with compression
|
||
|
levels starting from `-b` and ending with `-e` with iteration time of `-i` seconds.
|
||
|
CLI supports aggregation of parameters i.e. `-b1`, `-e18`, and `-i1` can be joined
|
||
|
into `-b1e18i1`.
|
||
|
|
||
|
|
||
|
#### The example of usage of static and dynamic LZ4 libraries with gcc/MinGW
|
||
|
|
||
|
Use `cd example` and `make` to build `fullbench-dll` and `fullbench-lib`.
|
||
|
`fullbench-dll` uses a dynamic LZ4 library from the `dll` directory.
|
||
|
`fullbench-lib` uses a static LZ4 library from the `lib` directory.
|
||
|
|
||
|
|
||
|
#### Using LZ4 DLL with gcc/MinGW
|
||
|
|
||
|
The header files from `include\` and the dynamic library `dll\liblz4.dll`
|
||
|
are required to compile a project using gcc/MinGW.
|
||
|
The dynamic library has to be added to linking options.
|
||
|
It means that if a project that uses LZ4 consists of a single `test-dll.c`
|
||
|
file it should be linked with `dll\liblz4.dll`. For example:
|
||
|
```
|
||
|
gcc $(CFLAGS) -Iinclude\ test-dll.c -o test-dll dll\liblz4.dll
|
||
|
```
|
||
|
The compiled executable will require LZ4 DLL which is available at `dll\liblz4.dll`.
|
||
|
|
||
|
|
||
|
#### The example of usage of static and dynamic LZ4 libraries with Visual C++
|
||
|
|
||
|
Open `example\fullbench-dll.sln` to compile `fullbench-dll` that uses a
|
||
|
dynamic LZ4 library from the `dll` directory. The solution works with Visual C++
|
||
|
2010 or newer. When one will open the solution with Visual C++ newer than 2010
|
||
|
then the solution will upgraded to the current version.
|
||
|
|
||
|
|
||
|
#### Using LZ4 DLL with Visual C++
|
||
|
|
||
|
The header files from `include\` and the import library `dll\liblz4.lib`
|
||
|
are required to compile a project using Visual C++.
|
||
|
|
||
|
1. The header files should be added to `Additional Include Directories` that can
|
||
|
be found in project properties `C/C++` then `General`.
|
||
|
2. The import library has to be added to `Additional Dependencies` that can
|
||
|
be found in project properties `Linker` then `Input`.
|
||
|
If one will provide only the name `liblz4.lib` without a full path to the library
|
||
|
the directory has to be added to `Linker\General\Additional Library Directories`.
|
||
|
|
||
|
The compiled executable will require LZ4 DLL which is available at `dll\liblz4.dll`.
|