2010-12-08 4 views
1

Donc mon point est de trouver ffmpeg normal sous la forme de .lib pour les développeurs de fenêtres c/C++ afin d'être capable d'inclure toutes les fonctions nécessaires dans mon application - pour ainsi dire un exe pas de DLL supplémentaires.Comment utiliser ffmpeg pour qu'il ne soit pas nécessaire d'inclure ses dll dans votre dossier d'application?

Donc, je cherche à travers ses fenêtres /autobuilds/ à la recherche d'un tel tableau de fichiers .lib. pour l'instant le plus proche de ce que je voulais était ce dossier ffmpeg-swscale-mingw32-shared-dev \ lib avec les fichiers .lib et .dll.a. problème est que je suis tout nouveau dans le développement C/C++ donc je me demande si cette construction est ce dont j'ai besoin ou j'ai besoin d'autre chose?

Et quels sont les fichiers .dll.a pour ffmpeg mingw32 partagé dev build après tout?

Répondre

3

Une construction partagée dépendra des DLL externes, vous devez trouver statique construit bibliothèques FFmpeg afin qu'ils soient liés à exe.

Vous aurez toujours besoin des fichiers suivants:

libavcodec.a

libavformat.a

libavutil.a

Il y a aussi option composants en fonction de votre code:

libavfilter.a

libavdevice.a

libswscale.a

+0

Pourriez-vous fournir un lien vers des bibliothèques FFmpeg statiques, pourriez-vous expliquer quelle est la relation entre les fichiers .lib et .a? – Rella

+0

* Les fichiers .lib contiennent uniquement des définitions pour les symboles exportés, ce qui n'est pas nécessaire pour les liens statiques. D'autre part, selon http://ffmpeg.arrozcru.org/builds, les bibliothèques statiques FFmpeg rencontrent des problèmes, vous devrez donc les compiler à la main. – ismail

3

Vous devez savoir que si vous avez l'intention de distribuer un programme de cette façon, vous devez soit rendre votre programme gratuit/opensource, soit au moins distribuer des fichiers objet pour votre programme afin que les utilisateurs finaux puissent le relier avec un v modifié. ersion de FFmpeg. Si vous choisissez cette dernière option (c'est-à-dire si vous ne voulez pas faire un logiciel gratuit), vous devez vous assurer que votre bibliothèque FFmpeg statique n'inclut pas la fonctionnalité GPL sous licence optionnelle, ou que votre utilisation enfreint sera capable de sortir du problème est de libérer votre programme complet sous une licence compatible GPL.

+0

Mon application sera opensource donc pas de problème avec ça. Où obtenir des bâtiments statiques? – Rella

Questions connexes