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

Interfaces de programmation Oracle Discussion :

[OCILIB] problème de link si C++


Sujet :

Interfaces de programmation Oracle

  1. #1
    Membre averti
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2009
    Messages : 12
    Par défaut [OCILIB] problème de link si C++
    Bonjour,

    J'ai un autre soucis avec la version 3.4 de OCILIB.

    Je me suis fait installer un compilateur gcc/g++ 4.2.4 sur notre environnement AIX 5.2. Avec, j'ai recompilé la librairie sans soucis.

    A l'édition des liens d'un programme C++ faisant, entre autre, appel aux fonctions OCI_GetBatchErrorCount et OCI_ErrorGetRow j'ai deux "unresolved external". Un pour chaque fonction. Et uniquement pour ces deux fonctions. Toutes les autres fonctions de ocilib sont correctement résolues.

    Un nm sur la librairie montre pourtant que ces deux symboles existent et un programme de test dérivé de demo/array.c ne présente pas le problème d'édition de lien avec la même librairie.

    Je pense donc que le problème vient du C++ et des "mangled function name" mais je ne trouve pas. J'ai bien essayé de déplacer la directive

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #ifdef  __cplusplus
    }
    #endif
    du fichier ocilib.h juste avant sa fin mais cela ne change rien.
    Je dois forcément passer à côté de la solution. Quelqu'un aurait une idée?

  2. #2
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    salut,

    le fichier d'entete de ocilib (ocilib.h) inclus déja une directive #ifdef __cplusplus


    Peut être un soucis de 32/64 bits ?...

    La, tout de suite, je vois pas ... trop fatigué pour raisonner..)
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  3. #3
    Membre averti
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2009
    Messages : 12
    Par défaut Petite précision
    Sous Windows avec Visual C++ le même programme compile/link correctement...

  4. #4
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    .. hum.. le mystère reste entier...

    si sous vindoz, ca rule et que la demo avec ces fonctions tourne aussi sous aix.... alors... la seule raison c'est que ton programme c++ linke une version < 3.3.0 de ocilib... Pas d'autre possibilité en vue
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  5. #5
    Membre averti
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2009
    Messages : 12
    Par défaut
    Ben non... c'est résolu

    En fait, l'option -L $(OCILIB) -l ocilib était situé en fin de ligne de commande, la mettre en tête de ligne a résolu le problème....

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

Discussions similaires

  1. [DLL/classe template] problème de link
    Par Bob.Killer dans le forum C++
    Réponses: 7
    Dernier message: 31/08/2005, 18h56
  2. Problème de link...
    Par Royd938 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 30/09/2004, 17h33
  3. C/asm : problème pour link
    Par SteelBox dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 06/04/2004, 23h03
  4. Problème de LINK Bizarre !!
    Par Jasmine dans le forum MFC
    Réponses: 24
    Dernier message: 19/03/2004, 15h58
  5. Problème de link avec Borland C++ 5.5
    Par gelam dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 24/11/2003, 16h45

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