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 :

probleme libserial linkage


Sujet :

C++

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2015
    Messages : 11
    Points : 8
    Points
    8
    Par défaut probleme libserial linkage
    Bonjour , je suis étudiant en BTS info et j’ai un soucis avec un tout petit programme :
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    #include <SerialStream.h>
    //
    using namespace LibSerial ;
    //
    // Create a SerialStream instance.
    //
     
    int main ()
    {
    SerialStream my_serial_stream ;
    //
    // Open the serial port for communication.
    //
    my_serial_stream.Open( "/dev/ttyS0" ) ;
    //
    // The various available baud rates are defined in SerialStreamBuf class.
    // This is to be changed soon. All serial port settings will be placed in
    // in the SerialPort class.
    //
    my_serial_stream.SetBaudRate( SerialStreamBuf::BAUD_230400 ) ;
    // Use 8 bit wide characters.
    //
    my_serial_stream.SetCharSize( SerialStreamBuf::CHAR_SIZE_8 ) ;
    //
    //Use one stop bit.
    //
    my_serial_stream.SetNumOfStopBits(1) ;
     
    // write 'U'
    my_serial_stream << 'U' ;
    return 0;
    }



    et le terminal me retourne l’erreur suivante :





    g++ serie.cpp -o serie -lserial -lpthread/tmp/ccXavVlx.o: dans la fonction « main »:
    serie.cpp.text+0x7c): référence indéfinie vers « LibSerial::SerialStream::Open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::_Ios_Openmode) »
    collect2: error: ld returned 1 exit status




    merci d’avance.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    Avez-vous configuré les lignes de commande pour ajouter la bibliothèque contenant le code de la méthode "LibSerial::SerialStream::Open" ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2015
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    bonjour je n'en suis pas sur pouvez vous me donner la méthode cordialement .

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    Dans quel .o ou quel .a est sensé être le code compilé de "LibSerial::SerialStream::Open" ?

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2015
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    désolé mais ça je ne sais pas j'ai telecharger et installer la bibliothèque depuis sinaptyc. merci pour vos réponses quand même. si jamais vous avez besoin d’autres infos n’hésitez pas.

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Je vois un -lserial dans la ligne, c'est pas ça ?
    Sinon, vu que tu l'as téléchargé sur un site, le site en question a surement une FAQ ou support pour cela non ?
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2015
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    synaptique n'est pas un site mais un gestionnaire de paquet sur linux =) mais je pense que le -lserial est la chose dont il parle :$

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Site, gestionnaire de paquet ou ma tante, quiconque fournit qqch comme ça a normalement une doc, aussi sommaire soit-elle.
    On est à l'ère d'internet, ton paquet il existe en dehors de ce synaptic http://lmgtfy.com/?q=libserial+serialstream
    Et oui, d'après Google, serial est bien la lib à lier, mais faut qu'elle soit dans un dossier accessible et connu du linker
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2015
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Justement les liens que tu as trouver avec tes recherches je les ais tous essayer ! de plus mon prof d'info a également regarder , j'ai transmis mon bout de code a un ami qui a telecharger la même bibliothèque que moi depuis le même endroit et il a pu compiler le code avec les mêmes options. merci quand même de ton aide. cordialement

  10. #10
    Expert éminent sénior

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 031
    Points : 11 474
    Points
    11 474
    Billets dans le blog
    11
    Par défaut
    Salut!

    Vérifie où la lib a été installée (vu que tu es passé par Synaptic, elle devrait être dans /usr/lib), et ensuite vérifie que le chemin où elle se trouve est dans ton path
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2015
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Salut dragonjoker59 en effet le libserial.so est bien dans usr/lib mais dans mon fichier environnement je n’avais que ça :


    PATH=$PATH:"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

    j'ai donc rajouter : PATH=$PATH:"/usr/lib/x86_64-linux-gnu"

    mais ça na rien changer :/

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 53
    Points : 97
    Points
    97
    Par défaut
    plutot que PATH du coté de la varibale d'env LD_LIBRARY_PATH qu'il faudrait regarder ,
    sinon à la compile ajouter l'option -L/chemin/vers/le/so/a/linker

Discussions similaires

  1. Problème de linkage SDL avec Builder 6 pro
    Par Invité dans le forum SDL
    Réponses: 5
    Dernier message: 28/04/2006, 02h44
  2. QT+DEV-CPP+LIBPQ : probleme de linkage
    Par Pe04 dans le forum Dev-C++
    Réponses: 2
    Dernier message: 31/03/2006, 11h31
  3. [MFC]+[dll] probleme au linkage
    Par BainE dans le forum MFC
    Réponses: 3
    Dernier message: 22/06/2005, 12h04
  4. [MFC ]Probleme de linkage d'une dll
    Par Lysis dans le forum MFC
    Réponses: 9
    Dernier message: 22/01/2004, 14h51
  5. Probleme de linkage avec DirectDraw7 sous BC++ 5.02
    Par bobtorn dans le forum DirectX
    Réponses: 3
    Dernier message: 07/10/2003, 20h14

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