2

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

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

谢谢

4

3 回答 3

3

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

您可以从源代码构建这些 DLL

于 2011-07-07T12:42:11.410 回答
2

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

于 2011-07-07T12:40:40.827 回答
1

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

在许可方面,虽然 7-Zip 在 GNU LGPL 下分发,但 LZMA SDK 是公共领域的。允许不受限制的复制和使用,尽管在应得的情况下给予信用是常见的礼貌。

于 2011-11-05T19:14:13.877 回答