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 :

Compilation : librairies non trouvées


Sujet :

C++

  1. #1
    Inactif
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 33
    Points : 22
    Points
    22
    Par défaut Compilation : librairies non trouvées
    Bonjour amis developpezs...

    j'ai un petit souci avec le GCC:

    en fait j'ai un petit main qui utilise deux librairies, libosgViewer.so et libosgDB.so.
    je travail avec des installations local, c'est à dire que j'ai installé OSG dans un dossier Build et j'ai MODIFIER la variable LD_LIBRARY_PATH pour pointé sur le dossier lib de OSG que j'ai installer avec make install...

    l'execution de la commande 'export' m'indique bien la bonne valeur de la variable, mais quand je compile avec la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gcc -losgViewer -losgDB main.cpp -o main
    ben le process ne trouve pas les fichiers d'include!!!

    aidez moi svp.
    voici mon main.cpp:
    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
     
    #include <osgDB/ReadFile>
    #include <osgViewer/Viewer>
     
    int main(int argc, char** argv)
    {
    	osg::ArgumentParser arguments(&argc,argv);
     
    	osgViewer::Viewer viewer;
    	viewer.setUpViewInWindow(100,100,500,500);
    	osg::ref_ptr<osg::Node> loadedModel = osgDB::readNodeFiles(arguments);
    	viewer.setSceneData( loadedModel.get() );
    	viewer.run();
    	delete viewer;
    }
    voici le resultat de la comande echo $PATH et echo $LD_LIBRARY_PATH:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    [sbox-FREMANTLE_X86: ~] > echo $PATH
    /host_usr/bin:/scratchbox/devkits/git/bin:/scratchbox/devkits/svn/bin:/scratchbox/devkits/doctools/bin:/scratchbox/devkits/debian-etch/bin:/scratchbox/devkits/perl/bin:/scratchbox/tools/bin:/targets/links/arch_tools/bin:/scratchbox/compilers/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/sbin:/usr/sbin:/home/xxxxx/OSG/OpenSceneGraph-Es2/Build_debug/INSTALL/usr/local/bin:/home/xxxxx/VirtualPlanetBuilder-0.9.11/Build/GLES/Debug/usr/local/bin:/home/xxxxx/QBee/QBee-qt-maemo5-OSGes2/Development/Builds/debug/Bin
     
    [sbox-FREMANTLE_X86: ~] > echo $LD_LIBRARY_PATH
    /lib:/usr/lib:/usr/local/lib:/usr/X11R6/lib:/home/xxxxx/QBee/QBee-qt-maemo5-OSGes2/Development/Builds/debug/Lib:/home/xxxxx/OSG/OpenSceneGraph-Es2/Build_debug/INSTALL/usr/local/lib:/home/xxxxx/QT/qt-maemo5-opengl-es2/lib:/home/xxxxx/VirtualPlanetBuilder-0.9.11/Build/GLES/Debug/usr/local/lib
    et enfin voici le resultat de la compilation:
    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
     
    [sbox-FREMANTLE_X86: ~] > gcc -losgDB -losgViewer -g main.cpp -o main
    main.cpp:1:26: error: osgDB/ReadFile: No such file or directory
    main.cpp:2:28: error: osgViewer/Viewer: No such file or directory
    main.cpp: In function 'int main(int, char**)':
    main.cpp:6: error: 'osg' has not been declared
    main.cpp:6: error: expected `;' before 'arguments'
    main.cpp:8: error: 'osgViewer' has not been declared
    main.cpp:8: error: expected `;' before 'viewer'
    main.cpp:9: error: 'viewer' was not declared in this scope
    main.cpp:10: error: 'osg' has not been declared
    main.cpp:10: error: 'osg' has not been declared
    main.cpp:10: error: 'loadedModel' was not declared in this scope
    main.cpp:10: error: 'osgDB' has not been declared
    main.cpp:10: error: 'arguments' was not declared in this scope
    main.cpp:13: error: type '<type error>' argument given to 'delete', expected pointer
    merci pour votre aide, c'est très urgent, ça me bloque tout mon travail!!!

    PS: je suis sous Ubuntu Karmic.

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Ton problème vient du fait que le compilateur n'arrive pas à trouver les fichiers include

    Il faut rajouter des paramètres à la ligne de commande de GCC pour lui indiquer ce chemin

    gcc -I <chemin d'accès aux include OSG> ...
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 3 156
    Points
    3 156
    Par défaut
    Salut

    La proposition de ram-0000 est bonne, j'ajouterai juste qu'il ne faut pas confondre la phase de compilation et la phase d'édition de lien.

    -I pour les includes à la compilation.
    -l pour les librairies binaires à l'édition de liens.

    J'ajouterai également, même si ce n'est pas directement lié à ta question, que je te conseille d'utiliser un outil comme CMake pour t'aider à compiler tes projets.
    Find me on github

  4. #4
    Inactif
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    merci l'ami

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

Discussions similaires

  1. [XL-2010] Projet ou librairie non trouve sur Excel 2010
    Par pimpom81 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/09/2014, 17h58
  2. Réponses: 0
    Dernier message: 05/11/2009, 06h46
  3. Librairies non trouvées
    Par Mister Nono dans le forum Langage
    Réponses: 12
    Dernier message: 28/08/2007, 17h09
  4. Bizarrerie de compilation : Unit1.dfm non trouvée
    Par petitprince dans le forum Delphi
    Réponses: 4
    Dernier message: 12/02/2007, 17h07
  5. Librairie msvcprtd.lib non trouvée
    Par Rupella dans le forum MFC
    Réponses: 2
    Dernier message: 16/02/2006, 14h19

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