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

Bibliothèques Discussion :

time.h non reconnu en compilant avec gcc


Sujet :

Bibliothèques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2006
    Messages : 111
    Par défaut time.h non reconnu en compilant avec gcc
    bonjour,

    Je cherche à compiler avec gcc une application qui tourne sous Unix et qui précédemment était compilée avec le compilo SUN. Le but étant ensuite de porter l'appli sous Linux. Pour des problèmes disons d'organisation, la plateforme Linux n'est pas encore opérationnelle donc je commence par cette étape.

    Lors de la compilation avec gcc j'ai un message du type :

    Compilation of CdDeliverer.cxx in progress ...
    src/CdDeliverer.cxx: In static member function `static void
    CdDeliverer::cleanDirectory(FtpWrapper*, const CR_string&, const
    CR_string&)':
    src/CdDeliverer.cxx:384: choosing `CR_boolean CR_boolean::operator||(int) const
    ' over `operator||'
    src/CdDeliverer.cxx:384: because worst conversion for the former is better
    than worst conversion for the latter
    src/CdDeliverer.cxx:384: choosing `CR_boolean CR_boolean::operator||(int) const
    ' over `operator||'
    src/CdDeliverer.cxx:384: because worst conversion for the former is better
    than worst conversion for the latter
    src/CdDeliverer.cxx: In member function `virtual int CdDeliverer::doJob(int,
    CR_string&)':
    src/CdDeliverer.cxx:697: `cftime' undeclared (first use this function)
    src/CdDeliverer.cxx:697: (Each undeclared identifier is reported only once for
    each function it appears in.)


    Il n'y a pas que l'erreur liée à cftime mais en ce qui concerne cette dernière, je pense que l'utilisation de #include <time.h> avec gcc ne fonctionne pas bien.
    Connaissez vous un équivalent de cette librairie ?

    merci d'avance,

  2. #2
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Bonjour,

    Citation Envoyé par chris78
    Il n'y a pas que l'erreur liée à cftime mais en ce qui concerne cette dernière, je pense que l'utilisation de #include <time.h> avec gcc ne fonctionne pas bien.
    Connaissez vous un équivalent de cette librairie ?
    En c++, il faut include ctime (sans .h) et compiler avec g++, qui ce contente d'appeler gcc avec les bonnes options :
    Citation Envoyé par loufoque
    g++ c'est la même chose que gcc -x c++ -lstdc++ -lm

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2006
    Messages : 111
    Par défaut
    merci gege
    j'utilise la commande g++ pour compiler
    sinon j'ai déjà essayé d'enlever le .h de time.h et sans résultat
    en fait il me génère une erreur du type "No suche file or directory" sur le include de time
    ou peut être y a t il un chemin à préciser pour qu'il trouve time ?

  4. #4
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par chris78
    sinon j'ai déjà essayé d'enlever le .h de time.h et sans résultat
    en fait il me génère une erreur du type "No suche file or directory" sur le include de time
    Il faut inclure ctime

    Citation Envoyé par chris78
    ou peut être y a t il un chemin à préciser pour qu'il trouve time ?
    Normalement le chemin des en-têtes standard est connu (je ne sais pas comment) mais tu peux toujours essayer d'ajouter l'option -I suivie du chemin du dossier contenant les fichiers d'en-tête (man gcc pour plus d'info).

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2006
    Messages : 111
    Par défaut
    ok en ajoutant ctime je n'ai plus le no suche file mais par contre j'ai toujours l'erreur de départ !

    une autre idée sinon ?


    PS : je vais changer gcc qui est en version 3.2 pour upgrader un peu, sait t on jamais !!!

  6. #6
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par chris78
    ok en ajoutant ctime je n'ai plus le no suche file mais par contre j'ai toujours l'erreur de départ !

    une autre idée sinon ?


    PS : je vais changer gcc qui est en version 3.2 pour upgrader un peu, sait t on jamais !!!
    Je n'ai même pas pensé à regarder, mais cftime n'est pas standard, il est bien défini dans time.h mais sous certaines conditions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #if (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX))
    extern int cftime(char *, char *, const time_t *);
    extern int ascftime(char *, const char *, const struct tm *);
    extern long altzone;
    #endif
    Donc il faut ajouter :
    Au option de g++

    En espérant que ta plateforme de teste imlplémente cette fonction (sous Linux il n'y a pas de problème).

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 09/04/2006, 19h02
  2. [débutant]compiler avec gcc sous linux
    Par Ickou dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 10/03/2006, 17h27
  3. compilation avec gcc: erreur inhabituelle
    Par artatum dans le forum C
    Réponses: 4
    Dernier message: 12/10/2005, 17h13
  4. Problème de compilation avec gcc
    Par Niktou dans le forum Linux
    Réponses: 9
    Dernier message: 27/09/2005, 15h18
  5. compilation avec gcc : erreurs bizard !!!
    Par CodeurNé dans le forum C
    Réponses: 2
    Dernier message: 23/09/2005, 18h09

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