在C ++中使用LZMA SDK

时间:2011-07-07 12:35:57

标签: c++ 7zip lzma

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

如果无法在哪里下载7z.dll / 7za.dll?我从7-zip.org下载了LZMA。

由于

3 个答案:

答案 0 :(得分:3)

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

您可以从源

构建这些DLL

答案 1 :(得分:2)

您可以通过将lib静态链接到可执行文件来实现,但根据其许可证,如果您执行此操作,您的代码也必须是开源的。

答案 2 :(得分:1)

是的,您可以在应用程序中静态包含/链接LZMA SDK。实际上,SDK包含一个名为lzma.exe的预构建可执行文件,没有外部LZMA依赖项。

关于许可,虽然7-Zip是在GNU LGPL下发布的,但LZMA SDK是公共领域。允许不受限制的复制和使用,尽管在信用到期时给予信用是常见的礼貌。