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 :

T_ADDR undeclared (first use in this function)


Sujet :

C

  1. #1
    Membre expérimenté

    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 685
    Points : 1 418
    Points
    1 418
    Par défaut T_ADDR undeclared (first use in this function)
    Bonjour à tous,

    j'ai un code avec la ligne suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tres = (struct t_bind *)t_alloc(inSockTcp, T_BIND, T_ADDR);
    et le compilateur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    error : 'T_ADDR' undeclared (first use in this function)
    en fouillant sur le net, il semblerait que T_ADDR soit un flag défini pour t_alloc, t_alloc étant défini dans xti.h, un header présent dans la librairie standard.

    Sauf que, même si le compilateur ne gueule pas pour t_alloc, il ne reconnait pas T_ADDR, et je n'ai aucun xti.h dans ma debian...

    sauriez-vous si cela provient d'un problème de version du compilateur ou d'autre chose ?

    (j'utilise gcc-4.1 et je penses que le compilateur utilisé pour le code doit être plus vieux que cela, étant donné que le code date d'il y a plus de 10 ans)

    merci d'avance,

    Cordialement,
    Nullius in verba

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    t_alloc n'est pas une fonction standard, et t_addr n'est pas un type standard.

    D'après quelques petites recherches, t_addr serait soit obsolète, soit destiné à des versions pour Vax, soit des trucs de Python ou Doxygen..


    La solution la plus simple est de faire sur ton système "man t_alloc"..

    D'après ce que je comprend du nom, comme ça, ça me semble être une encapsulation de malloc (ou bien un debug)..

    Il faut fouiller savoir si tu fais le lien avec une bibliothèque paticulière (style allocdebug ou autre), et/ou trouver le .h qui définit t_alloc, et regader dans quel cas il est utilisé (avec quels flags). Cela te donnera peut-être le flag de compil/link à ajouter..


    Sans en savoir plus, impossible d'en dire plus..
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  3. #3
    Membre expérimenté

    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 685
    Points : 1 418
    Points
    1 418
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    t_alloc n'est pas une fonction standard, et t_addr n'est pas un type standard.

    D'après quelques petites recherches, t_addr serait soit obsolète, soit destiné à des versions pour Vax, soit des trucs de Python ou Doxygen..


    La solution la plus simple est de faire sur ton système "man t_alloc"..

    D'après ce que je comprend du nom, comme ça, ça me semble être une encapsulation de malloc (ou bien un debug)..

    Il faut fouiller savoir si tu fais le lien avec une bibliothèque paticulière (style allocdebug ou autre), et/ou trouver le .h qui définit t_alloc, et regader dans quel cas il est utilisé (avec quels flags). Cela te donnera peut-être le flag de compil/link à ajouter..


    Sans en savoir plus, impossible d'en dire plus..
    Bonjour,

    merci pour la réponse, j'avais également fait des recherches, et je suis tombé sur cette page qui préconise d'inclure xti.h. J'ai ensuite vu sur cette page xti.h, ce qui m'a laissé croire qu'il s'agissait d'une fonction standard.

    Avec ces deux pages, vous comprendrez surement plus de chose que moi... vous voyez des informations en plus ?



    Pour vous en dire plus, le code en question a été développé/compilé sur des machine HP UX... je ne sais pas si vous pouvez y faire un lien avec une quelconque version de compilateur un peu différent qui expliquerait le fait que la fonction soit reconnue mais pas ses flags... (car je n'ai aucune erreur parlant de t_alloc à la compilation ; seuls les flags semblent inconnus pour gcc-4.1)

    Edit : est-ce que le standards industriel XNS4.0 vous dit quelque chose ?
    Nullius in verba

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Déjà, as-tu activé les warnings? En C, un nom de fonction manquant n'est pas une erreur, donc gcc affichera seulement un warning... si les warnings sont activés.

    Je m'en suis aperçu à mes dépens pour un projet, et je me suis retrouvé avec 9/20...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. struc undeclared (first use in this function)
    Par Malcolm98 dans le forum C
    Réponses: 6
    Dernier message: 23/03/2015, 20h40
  2. [Lex/Yacc] Example5.l:8: error: 'yylval' undeclared (first use in this function)
    Par scls19fr dans le forum Générateurs de compilateur
    Réponses: 2
    Dernier message: 20/06/2009, 14h52
  3. libpcap PB undeclared (first use in this function)
    Par guiyomh dans le forum Bibliothèque standard
    Réponses: 3
    Dernier message: 07/06/2008, 15h43
  4. error: `new' undeclared (first use in this function)
    Par moon93 dans le forum Réseau
    Réponses: 14
    Dernier message: 11/07/2006, 16h57
  5. Réponses: 23
    Dernier message: 19/01/2006, 23h34

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