Как использовать ffmpeg, чтобы не было необходимости включать его dll в папку вашего приложения?
Поэтому моя цель - найти нормальный ffmpeg в форме.lib для разработчиков Windows на C/C++, чтобы иметь возможность включать все необходимые функции в мое приложение - так сказать, один exe без дополнительных dll.
Поэтому я ищу его окна / autobuilds / в поисках такого массива.lib файлов. На данный момент ближе всего к тому, что я хотел, была папка ffmpeg-swscale-mingw32-shared-dev \ lib с файлами.lib и.dll.a. Проблема в том, что я новичок в разработке на C/C++, поэтому мне интересно, нужна ли мне эта сборка или мне нужно что-то еще?
И что за файлы.dll.a в ffmpeg mingw32 совместно используются для сборки dev?
2 ответа
Общая сборка будет зависеть от внешних DLL, вам нужно найти статические библиотеки FFmpeg, чтобы они были связаны с exe.
Вам всегда понадобятся следующие файлы:
libavcodec.a
libavformat.a
libavutil.a
В зависимости от вашего кода есть также дополнительные компоненты:
libavfilter.a
libavdevice.a
libswscale.a
Вы должны знать, что если вы собираетесь распространять программу, связанную с FFmpeg, вы должны либо сделать свою программу бесплатной / с открытым исходным кодом, либо хотя бы распространять объектные файлы для своей программы, чтобы конечные пользователи могли повторно связать ее с измененной версией. FFmpeg. Если вы выберете последний вариант (то есть, если вы не хотите, чтобы ваша программа была свободна от программного обеспечения), вы должны быть уверены, что в вашей статической библиотеке FFmpeg отсутствуют опциональные функции, лицензированные по лицензии GPL, иначе ваше использование будет нарушением и единственным способом, которым вы сможет выйти из неприятностей, выпуская всю вашу программу под лицензией, совместимой с GPL.