2011-07-07 56 views
2

我可以在我的應用程序中使用LZMA SDK,而不使用任何dll庫(如7z.dll或7za.dll),以便我的應用程序的可執行文件不應該有任何依賴關係?在C++中使用LZMA SDK

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

感謝

回答

2

您可以通過靜態鏈接的lib到您的可執行文件,但根據其牌照去做,你的代碼將是開源的,以及如果你做到這一點。

3

我相信你不能因爲7zip LGPL許可證。您可以使用LGPL部件關閉源代碼,但必須提供升級LGPL部分的功能,通常將其作爲單獨的DLL使用。

您可以從源

1

是建立這些DLL,您可以靜態包含/你的應用程序中的鏈接LZMA SDK。事實上,SDK包含一個預先構建的可執行文件,名爲lzma.exe,不具有外部LZMA依賴關係。

關於授權,雖然7-Zip是在GNU LGPL下發布的,但LZMA SDK是公共域。允許不受限制的複製和使用,儘管在信用到期時給予信貸通常是禮節性的。