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

GCC Discussion :

Problème de paramètre GCC avec plusieurs librairies persos


Sujet :

GCC

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 90
    Par défaut Problème de paramètre GCC avec plusieurs librairies persos
    Bonjour à tous,

    J'ai un programme sous platformio qui compile sans probleme sous environnement x86 et j'ai besoin de le faire compiler & tourner sous RPi (ARM). Il est de structure suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    src
    _main.cpp
    _main.h
    _lib1
    __lib1.cpp
    __lib1.h
    _lib2
    __lib2.cpp
    __lib2.h
    _lib3
    __lib3.cpp
    __lib3.h
    [...]
    Pour ce faire, j'ai un peu tout tenté dont la dernière mouture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    gcc \
    -I lib1 \
    -I lib2 \
    -I lib3 \
    -L lib1 \
    -L lib2 \
    -L lib3 \
    -g main.cpp
    -l lib1/lib1.cpp
    -l lib2/lib2.cpp
    -l lib3/lib3.cpp
    -o prog
    Les librairies s'appellent entre elles, sans effet de loop. J'avais déjà fait un programme où ce n'était pas le cas et la compilation fonctionne sans problème
    Cela me renvoit comme erreur qu'il ne trouve pas les fichiers lib.cpp. Accessoirement, comme le RPi n'est pas ultra rapide, j'aurais bien aimé généré des .o pour accélrer les compilations, mais j'avoue qu'avec le probleme actuel, cela me semble bien loin.

    J'ai tenté en ajoutant les chemins à LD_LIBRARY_PATH, en enlevant les -l mais cela me met des erreurs à cause de définition multiple dans les .h, j'ai testé avec CPLUS_INCLUDE_PATH, sans succès.

    Cela me semble un problème relativement standard, mais j'ai rien trouvé sur l'internet en dehors de ce que j'ai déjà testé.
    Si quelqu'un a une petite idée ? Merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 90
    Par défaut
    Le problème de génération de .o a priori est résolu via :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gcc -o lib//lib1/lib1.o -c -I lib/lib1 -I lib/lib2 -I lib/lib3 lib/lib1/lib1.cpp
    Me reste un probleme pour tout linker pour le main, il ne trouve pas les librairies malgré les options -L vers le path et -l vers les librairies

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    gcc main.cpp  -Lsrc/lib/lib1 -l lib1 -o main
     
    renvoit :
    /usr/bin/ld: cannot find lib1: No such find or directory

Discussions similaires

  1. Créer un JAR avec plusieurs librairies
    Par dubis dans le forum Débuter avec Java
    Réponses: 0
    Dernier message: 21/09/2016, 09h10
  2. Réponses: 0
    Dernier message: 02/09/2016, 08h32
  3. [OCCI] Quel version de gcc est compatible avec les librairies OCCI de Oracle 10 ?
    Par philemon_siclone dans le forum Interfaces de programmation
    Réponses: 4
    Dernier message: 09/01/2009, 20h24
  4. [linux][gcc] Comment travaille t-on avec plusieurs fichiers?
    Par kaygee dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 02/04/2004, 17h48
  5. Réponses: 2
    Dernier message: 30/09/2003, 15h57

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