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 serialib sur LINUX


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 46
    Points : 25
    Points
    25
    Par défaut Compilation serialib sur LINUX
    Bonjour,

    J'essaye de compiler la bibliothèque serialib (http://serialib.free.fr/html/index.html) pour la gestion des ports série. Je compile sous Linux et j'ai l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .../serialib.cpp:337:38: attention : converting to non-pointer type ‘unsigned int’ from NULL [-Wconversion-null]
    Elle concerne la fonction suivante à la ligne 7 :

    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
    int serialib::ReadStringNoTimeOut(char *String,char FinalChar,unsigned int MaxNbBytes)
    {
        unsigned int    NbBytes=0;                                          // Number of bytes read
        char            ret;                                                // Returned value from Read
        while (NbBytes<MaxNbBytes)                                          // While the buffer is not full
        {                                                                   // Read a byte with the restant time
            ret=ReadChar(&String[NbBytes]);
            if (ret==1)                                                     // If a byte has been read
            {
                if (String[NbBytes]==FinalChar)                             // Check if it is the final char
                {
                    String  [++NbBytes]=0;                                  // Yes : add the end character 0
                    return NbBytes;                                         // Return the number of bytes read
                }
                NbBytes++;                                                  // If not, just increase the number of bytes read
            }
            if (ret<0) return ret;                                          // Error while reading : return the error number
        }
        return -3;                                                          // Buffer is full : return -3
    }
    Avez-vous des idées pour corriger ça ?

    Merci d'avance !

  2. #2
    Membre éclairé
    Inscrit en
    Décembre 2010
    Messages
    290
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 290
    Points : 719
    Points
    719
    Par défaut
    Oui c'est bizarre, le prototype de la méthode est le suivant :
    char ReadChar (char *pByte,const unsigned int TimeOut_ms=NULL);
    ce qui est assez spécial, parce qu'un const unsigned int en paramètre, j'avoue que je vois pas trop l'intérêt. Admettons.
    Le compilateur ne fait que son devoir : il t'informe d'une conversion depuis NULL vers un entier.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 46
    Points : 25
    Points
    25
    Par défaut
    Donc il manque l'argument
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const unsigned int TimeOut_ms
    ?

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 46
    Points : 25
    Points
    25
    Par défaut
    C'est bon j'ai corrigé le problème en écrivant à la ligne 7 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ret=ReadChar(&String[NbBytes],0);
    Merci.

Discussions similaires

  1. Compile runtime sur Linux
    Par campofelliz dans le forum MATLAB
    Réponses: 1
    Dernier message: 19/06/2011, 19h28
  2. Compilation, statistiques sur Linux
    Par nightwar dans le forum Outils
    Réponses: 0
    Dernier message: 09/08/2010, 11h55
  3. Tutoriel la sur compilation des programmes sur linux
    Par totoAussi dans le forum Linux
    Réponses: 4
    Dernier message: 06/09/2009, 22h49
  4. cross compiling host = windows / linux & target = solaris sur sparc 64
    Par indepthsight dans le forum Autres éditeurs
    Réponses: 0
    Dernier message: 07/01/2008, 21h07
  5. problème de compilation de code c sur linux
    Par bejaouijamil dans le forum C
    Réponses: 11
    Dernier message: 10/01/2007, 15h36

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