我可以在我的应用程序中使用LZMA SDK而不使用任何dll库(如7z.dll或7za.dll),以便我的应用程序的可执行文件不应该有任何依赖项吗?
如果无法在哪里下载7z.dll / 7za.dll?我从7-zip.org下载了LZMA。
由于
答案 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是公共领域。允许不受限制的复制和使用,尽管在信用到期时给予信用是常见的礼貌。