I would recommend the LZMA/7 Zip library. It supports a broad variety of compression formats and is usable for almost any kind of (OS) environment. The library API is in C and you can just pick what you need for your purpose (just decompression, compression or both) easily. It's also coming with an open source license that makes it easy to use in any kind of project (commercial or OS).
We're using this library in a number of embedded projects successfully.