GitHub - getnamo/7zip-cpp at exceptions · GitHub
Skip to content

getnamo/7zip-cpp

 
 

Folders and files

Repository files navigation

7zip-cpp

Fork of SevenZip++ for VS2015

From: http://bitbucket.org/cmcnab/sevenzip/wiki/Home

This is a C++ wrapper for accessing the 7-zip COM-like API in 7z.dll and 7za.dll. This code is heavily based off of the Client7z sample found in the LZMA SDK.

The project itself is a static library.

To use, first load the 7z DLL into memory:

#include <7zpp/7zpp.h>

SevenZip::SevenZipLibrary lib;
lib.Load();

If the appropriate 7z DLL is not in your path you may wish to specify it explicitly in the call to load. Note you may have the 64-bit version installed but are trying to load it from a 32-bit executable; keep that in mind if you encounter errors.

lib.Load(_T("path\\to\\7za.dll"));

Then create and use a compressor:

SevenZip::SevenZipCompressor compressor(lib, archiveName);
compressor.CompressDirectory(targetDir);

Or an extractor:

SevenZip::SevenZipExtractor extractor(lib, archiveName);
extractor.ExtractArchive(destination);

Don't forget to wrap the operations in a try/catch block to handle errors:

...
catch (SevenZip::SevenZipException& ex)
{
    std::cerr << ex.GetMessage() << std::endl;
}

About

Fork of SevenZip++ for modern builds.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

Contributors

Languages