10
votes

Erreur de liaison lors de la construction du projet de tutoriel iOS gstreamer

J'ai téléchargé et installé gstreamer iOS Library de Leur site . J'ai copié le tutoriel dans mon propre dossier et j'ai essayé de construire le projet en Xcode. J'ai eu l'erreur de liaison suivante.

Je n'ai aucune indices à ce sujet. Le Gstreamer.framework est relié à toutes les cibles. P>

Undefined symbols for architecture armv7:
  "_iconv_open", referenced from:
      __nl_find_msg in GStreamer(libintl_a_armv7_-dcigettext.o)
     (maybe you meant: _g_iconv_open)
  "_iconv", referenced from:
      __nl_find_msg in GStreamer(libintl_a_armv7_-dcigettext.o)
     (maybe you meant: _iconv_canonicalize, _g_iconv_close , _g_convert_with_iconv , _g_iconv , _g_iconv_open )
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)


1 commentaires

Tout le cadre est manquant. Le cadre n'est pas ajouté correctement.


3 Réponses :


0
votes

Ce que vous devez faire est de faire glisser le projet de bibliothèque dans votre projet. Ensuite, dans les paramètres de votre projet, goto Phases de construction et sous cible dépendances ajoutez le projet de bibliothèque sous forme de dépendance. Ensuite, sous link binaire avec des bibliothèques (toujours en phases de construction), ajoutez le produit de la bibliothèque (un fichier .a). Puis reconstruire.

Dans les versions récentes de Xcode, vous n'avez même pas besoin de l'ajouter comme une dépendance ciblée. Il détecte automatiquement les dépendances entre les projets dans le même espace de travail. Vous devez juste ajouter le fichier .a sous lien binaire avec des bibliothèques .


3 commentaires

Mais il n'y a pas de "projet de bibliothèque". De la page d'installation - La bibliothèque SDK est installée sur ~ / Bibliothèque / Développeur / Gstreamer / iPhone.sdk. Dans ce répertoire, il y a le gstreamer.framework qui contient les Libs, les en-têtes et les ressources.


Dans ce cas, il suffit d'ajouter gstreamer.framework sous "link binaire avec des bibliothèques".


Gstreamer.framework était déjà là ... mais c'était en "rouge". J'ai toujours ajouté gstreamer.framework à partir du chemin iPhone.sdk. Toujours le même résultat. J'ai appliqué le cadre pour tous les objectifs



13
votes

trouvé !!!

Pas de problèmes avec le cadre. Je devais juste ajouter libiconv.dylib en phases de construction -> lien binaire avec des bibliothèques. Aucune erreur de liaison après cela!


0 commentaires

0
votes

mise à jour:

Nous avons trouvé un autre développeur qui a frappé les mêmes problèmes et nous avons mis à disposition des tutoriels modifiés pour travailler autour de la superposition.h manquant et quelques autres problèmes, si vous êtes intéressé, consultez ceci:
https://github.com/braincorp/gstreamer_ios_Tutorial


0 commentaires