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] OCILIB sous Unix


Sujet :

Interfaces de programmation Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 44
    Par défaut [OCILIB] OCILIB sous Unix
    Bonjour,

    D'une part, je voudrais savoir quelle est la signfication des options -lclntsh et -locilib dans

    -L/$ORACLE_HOME/lib -lclntsh
    -L$USER_LIBS/lib -locilib

    D'autre part, j'ai essayé de compiler un projet Oracle, et j'ai un problème de link avec ces 2 options justement...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    g++: -lclntsh: linker input file unused because linking not done
    g++: -locilib: linker input file unused because linking not done
    Pourriez-vous m'eclairer.

    Merci

  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,

    Concernant ta 1ere question, ces flags permettent de lier la librairie partagée OCI d'Oracle (libclntsh.so) et la librairie OCILIB (libocilib.so) à ton programme

    Concertant ta 2eme question, ton makefile ou ta ligne de commande sont fouareux.. Poste les donc !
    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
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 44
    Par défaut
    Bonjour,

    Effectivement j'avais ajouté un -c sans le vouloir...

    J'ai réussi à compiler mtn, par contre l'exécution de mon programme engendre un "segmentation fault"...

    voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
     
    #include <iostream>
    #include <ocilib.h>
     
    using namespace std;
     
    int main()
    {
     
    	if(!OCI_Initialize(NULL, NULL, OCI_ENV_DEFAULT))
    	{
    	    cout << "ERREUR" << endl;
    	    return EXIT_FAILURE;
    	}
    	else 
                 {
    	    cout << "ok" << endl;
    	    OCI_Cleanup();
    	}
    	return 0;
    }
    Auriez-vous une idée du problème?

    Merci

  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
    Postes tes commandes de compilation !
    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
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 44
    Par défaut
    Bonjour,

    Voici la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    g++ -I/home/USER/include -DOCI_IMPORT_LINKAGE -DOCILIB_CHARSET_ANSI -L/appli/oracle/product/10.2.0/lib -lclntsh  -L/home/USER/lib -locilib
    main.cpp

  6. #6
    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
    est ce que

    - /appli/oracle/product/10.2.0/lib
    - /home/USER/lib

    sont tous les deux présents dans la variable LD_LIBRARY_PATH ?

    (tu es sous linux je présume)
    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

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

Discussions similaires

  1. [OCILIB] Compilation sous VS2010
    Par cobfly dans le forum Interfaces de programmation
    Réponses: 1
    Dernier message: 24/09/2010, 16h51
  2. [OCILIB] Compilation sous hpux Itanium 64 bits
    Par cobfly dans le forum Interfaces de programmation
    Réponses: 7
    Dernier message: 08/02/2010, 12h01
  3. [Kylix] Kylix sous UNIX
    Par gRRosminet dans le forum EDI
    Réponses: 3
    Dernier message: 09/11/2004, 17h07
  4. Montage sur Debian de AFPS sous UNIX
    Par Harbaingan dans le forum Administration système
    Réponses: 2
    Dernier message: 14/01/2004, 22h03
  5. Chargement dynamique de DLL sous Unix
    Par Willou dans le forum Autres éditeurs
    Réponses: 7
    Dernier message: 18/12/2002, 18h25

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