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 :

Erreur de compilation


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 12
    Par défaut Erreur de compilation
    Bonjour j'ai creer un programme en c et quand je compile, le compilateur me retourne cette erreur là :
    ./ccqqcaaa.o(.text+0x1cf):Tp2.c: undefined reference to `inferieur'

    Pourtant j'ai bien inclu mon sspg.h dans le prog principal donc je comprend pas.
    appel de la fonction dans le prog principal:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    for(i=0;i<nbEtu-1;i++)
    	{
    		for(j=i+1;j<nbEtu;j++)
    		{
    			if(inferieur(tab[i],tab[j]) == 1)
    			{
    				ech = tab[i];
    				tab[i] = tab[j];
    				tab[j] = ech;
    			}
    		}
    	}
    déclaration de la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int inferieur(TEtudiant pEtu1,TEtudiant pEtu2);
    J'ai bien déclarer tab[] en TEtudiant.

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 129
    Billets dans le blog
    149
    Par défaut
    Bonjour,

    La déclaration est elle avant l'utilisation de la fonction 'inferieur'?
    Y a t'il un corps à la fonction 'inferieur'. Car vous ne le donnez pas, donc je me permet le doute. ( et cela expliquerai l'erreur ) ( enfin c'est plutot le message d'erreur qui explique ça )
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 12
    Par défaut
    La déclaration est dans un fichier sspg.h que j'inclue dans le prog principal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #include<stdio.h>
    #include<stdlib.h>
     
    #include "sspg.h"
     
    int main(void)
    Corps de la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    int inferieur(TEtudiant pEtu1,TEtudiant pEtu2)
    {
    	int res=1;
     
    	if(strcasecmp(pEtu1.Nom,pEtu2.Nom) < 0)
    		if((strcasecmp(pEtu1.Nom,pEtu2.Nom) == 0) || (pEtu1.GrTD  < pEtu2.GrTD))
    			if((strcasecmp(pEtu1.Nom,pEtu2.Nom) == 0) || (pEtu1.GrTD == pEtu2.GrTD) || (pEtu1.GrTP < pEtu2.GrTP))
    				res = -1;
     
    	return res;
    }

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 129
    Billets dans le blog
    149
    Par défaut
    Est ce que vous avez bien mis le fichier "sspg.c" ( je suppose son nom ) dans le projet, et est ce qu'il est bien compilé ?

    Dans l'idée, il semble que vous utilisez gcc, donc, si vous utilisez la ligne de commande pour compiler avez vous bien un truc du genre:
    gcc main.c sspg.c -o programme
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 12
    Par défaut
    Oui sspg.c est bien dans le projet et j'utilise un makefile pour compiler. Le makefile est sans erreur car il marchait pour d'autres projet, j'ai seulement dû changer les noms et j'ai vérifier, j'ai fais aucunes erreurs dans les noms.

  6. #6
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Par défaut
    Salut.

    Citation Envoyé par zaraki31700 Voir le message
    Oui sspg.c est bien dans le projet et j'utilise un makefile pour compiler. Le makefile est sans erreur car il marchait pour d'autres projet, j'ai seulement dû changer les noms et j'ai vérifier, j'ai fais aucunes erreurs dans les noms.
    Postes-le nous toujours ... tu as peut être un problème d'ordre d'édition des liens. Il faut que sspg.o soit construit avant main.o par exemple (il faut donc placer la cible de sspg.o en dépendance de la cible de main.o).

    Cordialement,
    Idriss.

Discussions similaires

  1. Erreur de compilation après modification du Uses
    Par DevelOpeR13 dans le forum Langage
    Réponses: 5
    Dernier message: 30/10/2007, 14h23
  2. Réponses: 2
    Dernier message: 23/09/2003, 14h32
  3. Réponses: 10
    Dernier message: 22/09/2003, 21h58
  4. Réponses: 4
    Dernier message: 27/08/2003, 21h34
  5. Réponses: 2
    Dernier message: 04/03/2003, 23h24

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