IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Création d'une librarie et utilisation


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 87
    Points : 56
    Points
    56
    Par défaut Création d'une librarie et utilisation
    Bonjour,

    J'ai implémenté une librairie static en C++ qui utilise une autre librarie static en C.
    Dans ma librarie je fais des appels aux méthodes genre TIFFOpen(...).

    A la compilation j'obtiens bien mon mylib.a

    Je code donc une application qui utilise ma librarie. J'ai inclus tous les paths, les lib que j'ai même mis en dépendance, des deux librairies, la compilation est ok. Mais lors du linkage j'obtiens une erreur: 'undefined reference to 'TIFFOpen'' méthode qui est appelé dans le code de ma librairie.

    Quelqu'un a déjà eu ce problème?

    Faut il que je déclare des méthodes extern? Que faire?

    Merci

    edit: je précise que si je compile mon application comme étant une librairie static ca marche. Mais je ne peux pas l'exécuter ensuite

    edit2:
    Utilisez extern "c" pour empêcher que les noms de fonction soient substantypés dans des programmes C++.
    ma fonction TIFFOpen doit être substantypé puisque mon erreur affiche: undefined reference to `_imp__TIFFOpen'

    Cela viendrait il de cela??

  2. #2
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 87
    Points : 56
    Points
    56
    Par défaut
    Bon et bien je me réponds à moi même pour moi même.

    J'ai recompilé ma librairie en dynamic (dll) et cela marche maintenant. Donc on ne peut pas inclure une lib static dans une autre static et l'utiliser dans une application.

    Heu c'est ma déduction.

  3. #3
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Tant que tu utilises des bibliothèques (pas "librairie"...) statiques, il faut te trimballer les bibliothèques statiques utilisées par ta bibliothèque, leur code n'est pas inclus à celle-ci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création d'une DLL pour utilisation dans JNI
    Par Godestiny dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 08/06/2011, 11h36
  2. [Google Maps] Création d'une classe et utilisation
    Par Invité dans le forum APIs Google
    Réponses: 1
    Dernier message: 28/07/2009, 09h12
  3. Réponses: 1
    Dernier message: 22/02/2008, 11h30
  4. Création d'une aide à l'utilisation
    Par flagadda dans le forum VB.NET
    Réponses: 1
    Dernier message: 03/10/2007, 15h57
  5. Création d'une librarie pour le protocole news (NNTP) ??
    Par websurfeur dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 09/05/2006, 18h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo