我可以在我的应用程序中使用 LZMA SDK 而不使用任何 dll 库,例如 7z.dll 或 7za.dll,这样我的应用程序的可执行文件不应该有任何依赖关系吗?
如果不可能,我在哪里可以下载 7z.dll/7za.dll?我从 7-zip.org 下载了 LZMA。
谢谢
我相信你不能因为 7zip LGPL 许可证。您可以使用 LGPL 部件关闭源代码,但您必须提供升级 LGPL 部件的能力,通常将其用作单独的 DLL。
您可以从源代码构建这些 DLL
您可以通过将 lib 静态链接到可执行文件中来实现,但根据其许可证,如果您这样做,您的代码也必须是开源的。
是的,您可以在应用程序中静态包含/链接 LZMA SDK。事实上,SDK 包含一个名为 lzma.exe 的预构建可执行文件,没有外部 LZMA 依赖项。
在许可方面,虽然 7-Zip 在 GNU LGPL 下分发,但 LZMA SDK 是公共领域的。允许不受限制的复制和使用,尽管在应得的情况下给予信用是常见的礼貌。