Использование LZMA SDK в C ++ - PullRequest
2 голосов
/ 07 июля 2011

Могу ли я использовать LZMA SDK в своем приложении без использования библиотек dll, таких как 7z.dll или 7za.dll, чтобы исполняемый файл моего приложения не имел никаких зависимостей?

Если это невозможно, где я могускачать 7z.dll / 7za.dll?Я скачал LZMA с 7-zip.org.

Спасибо

Ответы [ 3 ]

3 голосов
/ 07 июля 2011

Я полагаю, что вы не можете из-за лицензии LGPL 7zip.Вы можете закрыть свой исходный код, используя части LGPL, но вы должны предоставить возможность обновить часть LGPL, обычно используя ее как отдельную DLL.

Вы можете создавать эти DLL из источников

2 голосов
/ 07 июля 2011

Вы можете сделать это путем статической привязки библиотеки lib к вашему исполняемому файлу, но в соответствии с ее лицензией ваш код также должен быть открытым исходным кодом, если вы это сделаете.

1 голос
/ 05 ноября 2011

Да, вы можете статически включать / связывать LZMA SDK в своем приложении.Фактически SDK включает в себя предварительно созданный исполняемый файл lzma.exe без внешних зависимостей LZMA.

Что касается лицензирования, в то время как 7-Zip распространяется под GNU LGPL, LZMA SDK является общедоступнымдомен .Разрешение на неограниченное воспроизведение и использование, хотя это обычная вежливость, чтобы дать кредит, где кредит должен.

...