在c++中使用LZMA SDK

Using LZMA SDK in C++

本文关键字:LZMA SDK c++      更新时间:2023-10-16

我可以在我的应用程序中使用LZMA SDK而不使用任何dll库,如7z.dll或7za.dll,以便我的应用程序的可执行文件不应该有任何依赖关系?

如果它是不可能的,我可以在哪里下载7z.dll/7za.dll?我从7-zip.org下载了LZMA。

谢谢

我相信你不能因为7zip LGPL许可证。您可以使用LGPL部分关闭源代码,但必须提供升级LGPL部分的能力,通常将其作为单独的DLL使用。

您可以从源代码

构建这些dll

您可以通过静态链接库到您的可执行文件来实现这一点,但根据其许可,如果您这样做,您的代码也必须是开源的。

是的,您可以在应用程序中静态地包含/链接LZMA SDK。事实上,SDK包含一个预先构建的可执行文件LZMA .exe,它不依赖于外部LZMA。

在许可方面,虽然7-Zip是在GNU LGPL下发布的,但LZMA SDK是公共领域。允许不受限制的复制和使用,尽管通常的礼貌是在该署名的地方署名。