A decent file archiver, compresses and extracts a variety of archive and file types!
To compile sources you will need Visual C++ 6.0 or a later version.
If you are using MSVC, specify the SDK directories at the top of the "Include files" and "Library files" directory lists. These can be found under "Tools / Options / Directories".
The latest Platform SDK is not compatible with MSVC6. So you must use Windows Server 2003 PSDK (February 2003) with MSVC6.
One way is to use the 7z.dll or 7za.dll. The 7za.dll works via COM interfaces. It, however, doesn't use standard COM interfaces for creating objects. You can find a small example in "CPP7zipUIClient7z" folder in the source code. A full example is 7-Zip itself, since 7-Zip works via this dll also. There are other applications that use 7za.dll such as WinRAR, PowerArchiver and others.
The other way is to call the command line version: 7za.exe.
Since 7-Zip is licensed under the GNU LGPL you must follow the rules of that license. In brief, it means that any LGPL'ed code must remain licensed under the LGPL. For instance, you can change the code from 7-Zip or write a wrapper for some code from 7-Zip and compile it into a DLL; but, the source code of that DLL (including your modifications / additions / wrapper) must be licensed under the LGPL or GPL. Any other code in your application can be licensed as you wish. This scheme allows users and developers to change LGPL'ed code and recompile that DLL. That is the idea of free software.