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 :

attention : implicit declaration of function ‘tftp_buffer_to_paquet’


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2012
    Messages : 3
    Par défaut attention : implicit declaration of function ‘tftp_buffer_to_paquet’
    Bonjour à tous,

    Je souhaite créer un serveur.c qui utilise non seulement une librairie que j'ai crée mais aussi une sorte de bibliothèque générique. Le compilateur ne m'indique pas d'érreur concernant la libraire, mais impossible d'utiliser les fonctions créer dans ma bibliothèque.

    dans serveur.c :
    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
     
    #include "tftp.h"
    #include <unistd.h>
    #include <stdlib.h>
    #include <arpa/inet.h>
     
    int opcode = -1;
    void request(char * buffer) {
    	tftp_request * trequest = malloc(sizeof(tftp_request *));
    	int i = tftp_buffer_to_paquet_request( trequest, buffer);
    	printf("%d", i);
    	if (opcode == RRQ) {
     
    	} else if (opcode == WRQ) {
     
    	}
    }
    dans tftp.h je définie des structures et des en tetes de méthode
    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 tftp_paquet_data_to_buffer(const tftp_data* paquet, char* buffer);
    int tftp_paquet_ack_to_buffer(const tftp_ack* paquet, char* buffer);
    int tftp_paquet_error_to_buffer(const tftp_error* paquet, char* buffer);
    int tftp_paquet_request_to_buffer(const tftp_request* paquet, char* buffer);
    int tftp_paquet_to_buffer(const tftp_paquet *paquet, char *buffer);
     
    int tftp_buffer_to_paquet_request(tftp_request* paquet, const char* buffer);
    int tftp_buffer_to_paquet_data(tftp_data* paquet, const char* buffer);
    int tftp_buffer_to_paquet_error(tftp_error* paquet, const char* buffer);
    int tftp_buffer_to_paquet_ack(tftp_ack* paquet, const char* buffer);
    int buffer_to_tftp_paquet(tftp_paquet *paquet, const char *buffer);
     
    int send_error(SocketUDP *socket, int errorCode, char *message);
    int send_paquet(const tftp_paquet* paquet, SocketUDP* sock, char* adress, int port);
    int receive_with_timeout(SocketUDP* sock, char* adress, int port, int timeout, tftp_paquet* response_paquet);
     
    int send_RRQ_wait_DATA_timeout(tftp_request *rpaquet, SocketUDP *socket, const char *adresse, int port, int timeout,
    						tftp_data *dpaquet, int *rcvport);
    int send_ACK_wait_DATA_timeout(tftp_ack* paquet_ack, SocketUDP* sock, int timeout, tftp_data* paquet_data, size_t* taille, int rcv_port);
    le compilateur me donne ça :
    "serveur.c:9:2: attention : implicit declaration of function ‘tftp_buffer_to_paquet’ [-Wimplicit-function-declaration]"

    Je n'arrive pas à enlever ce warning, par contre si j'inverse les arguments, il me dit parfaitement que c'est pas le bon ordre

  2. #2
    Membre Expert
    Avatar de Metalman
    Homme Profil pro
    Enseignant-Chercheur
    Inscrit en
    Juin 2005
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Enseignant-Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 049
    Par défaut
    A quoi ressemble ton makefile et/ou ta ligne de compilation ?
    (ta bibliothèque est statique ? dynamique ?)
    --
    Metalman !

    Attendez 5 mins après mes posts... les EDIT vont vite avec moi...
    Les flags de la vie : gcc -W -Wall -Werror -ansi -pedantic mes_sources.c
    gcc -Wall -Wextra -Werror -std=c99 -pedantic mes_sources.c
    (ANSI retire quelques fonctions comme strdup...)
    L'outil de la vie : valgrind --show-reachable=yes --leak-check=full ./mon_programme
    Et s'assurer que la logique est bonne "aussi" !

    Ma page Developpez.net

  3. #3
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 485
    Par défaut
    Hello,

    Le second bloc que tu nous présentes ici contient-il le fichier « tftp.h » en entier ou seulement un extrait ?

    Apparemment, tu ne définis pas les types « tftp_data » et autres que tu utilises dans tes prototypes de fonctions. Lesdites fonctions ne sont alors pas entièrement déclarées. Et comme « tftp_buffer_to_paquet_request() » est la première fonction que tu utilises dans ton code, c'est sur celle-ci que bute ton compilo.

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

Discussions similaires

  1. [gcc/warning] implicit declaration of function ‘close’
    Par TabrisLeFol dans le forum Réseau
    Réponses: 4
    Dernier message: 09/01/2007, 20h48
  2. Réponses: 3
    Dernier message: 18/10/2006, 20h42
  3. implicit declaration of function!
    Par moon93 dans le forum C
    Réponses: 48
    Dernier message: 16/06/2006, 14h55
  4. implicit declaration of function
    Par guillaume_pfr dans le forum C
    Réponses: 7
    Dernier message: 12/06/2003, 10h59
  5. [Dev c++ 4] implicite declaration of function "int kbhi
    Par Torpedox dans le forum Dev-C++
    Réponses: 5
    Dernier message: 01/01/2003, 13h37

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