Использование LZMA SDK в C++

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

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

Спасибо


person Vitaly    schedule 07.07.2011    source источник


Ответы (3)


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

Вы можете собрать эти библиотеки DLL из исходников.

person Andriy Tylychko    schedule 07.07.2011

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

person Vitor    schedule 07.07.2011

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

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

person Adaptation    schedule 05.11.2011