Undefined reference to
baka no emily
Messages postés
59
Statut
Membre
-
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Bonjour,
J'essaye de compiler un programme de test mais j'obtiens ceci :
test_vecteurs_creux.c:32:1: error: unterminated argument list invoking macro "assert"
test_vecteurs_creux.c: In function `main':
test_vecteurs_creux.c:17: error: `assert' undeclared (first use in this function)
test_vecteurs_creux.c:17: error: (Each undeclared identifier is reported only once
test_vecteurs_creux.c:17: error: for each function it appears in.)
test_vecteurs_creux.c:17: error: expected `;' at end of input
test_vecteurs_creux.c:17: error: expected declaration or statement at end of input
Je me comprends pas pourquoi les asserts ne sont pas reconnus alors que j'ai fait l'inclusion, de même il ne reconnait pas les fonctions de VecteursCreux.h
Voici le programme :
merci d'avance pour vos réponses.
Bonjour,
J'essaye de compiler un programme de test mais j'obtiens ceci :
test_vecteurs_creux.c:32:1: error: unterminated argument list invoking macro "assert"
test_vecteurs_creux.c: In function `main':
test_vecteurs_creux.c:17: error: `assert' undeclared (first use in this function)
test_vecteurs_creux.c:17: error: (Each undeclared identifier is reported only once
test_vecteurs_creux.c:17: error: for each function it appears in.)
test_vecteurs_creux.c:17: error: expected `;' at end of input
test_vecteurs_creux.c:17: error: expected declaration or statement at end of input
Je me comprends pas pourquoi les asserts ne sont pas reconnus alors que j'ai fait l'inclusion, de même il ne reconnait pas les fonctions de VecteursCreux.h
Voici le programme :
#include "VecteursCreux.h"
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
int main() {
VecteurCreux v;
init_vecteur_creux(&v);
assert(est_nul(&v);
set_element_vect(&v,1,1.2);
assert(get_element(&v,0) == 0.0);
assert(get_element(&v,1) == 1.2);
assert(get_element(&v,2) == 0.0);
set_element_vect(&v,2,2.2);
assert(get_element(&v,0) == 0.0);
assert(get_element(&v,1) == 1.2);
assert(get_element(&v,2) == 2.2);
set_element_vect(&v,1,0.0);
assert(get_element(&v,0) == 0.0);
assert(get_element(&v,1) == 0.0);
assert(get_element(&v,2) == 2.2);
}
merci d'avance pour vos réponses.
A voir également:
- Undefined reference to
- Qwerty to azerty - Guide
- Crdownload to mp4 - Forum Téléchargement
- Mb to mo - Forum Matériel & Système
- Reboot to bootloader - Guide
- Video to video - Télécharger - Conversion & Codecs
6 réponses
Tout simplement ! Merci beaucoup
Ceci étant dit maintenant j'obtiens :
/tmp/cckambvf.o: In function 'main':
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:16: undefined reference to 'init_vecteur_creux'
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:17: undefined reference to 'est_nul'
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:18: undefined reference to 'set_element_vect'
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:19: undefined reference to 'get_element'
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:20: undefined reference to 'get_element'
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:21: undefined reference to 'get_element'
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:22: undefined reference to 'set_element_vect'
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:23: undefined reference to 'get_element'
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:24: undefined reference to 'get_element'
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:25: undefined reference to 'get_element'
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:26: undefined reference to 'set_element_vect'
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:27: undefined reference to 'get_element'
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:28: undefined reference to 'get_element'
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:29: undefined reference to 'get_element'
collect2: ld returned 1 exit status
en d'autres termes il ne reconnait pas mes fonctions pourtant j'ai bien inclus le .h
Ceci étant dit maintenant j'obtiens :
/tmp/cckambvf.o: In function 'main':
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:16: undefined reference to 'init_vecteur_creux'
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:17: undefined reference to 'est_nul'
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:18: undefined reference to 'set_element_vect'
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:19: undefined reference to 'get_element'
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:20: undefined reference to 'get_element'
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:21: undefined reference to 'get_element'
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:22: undefined reference to 'set_element_vect'
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:23: undefined reference to 'get_element'
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:24: undefined reference to 'get_element'
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:25: undefined reference to 'get_element'
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:26: undefined reference to 'set_element_vect'
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:27: undefined reference to 'get_element'
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:28: undefined reference to 'get_element'
/home/kabia/Langage C/BE01-kabia/test_vecteurs_creux.c:29: undefined reference to 'get_element'
collect2: ld returned 1 exit status
en d'autres termes il ne reconnait pas mes fonctions pourtant j'ai bien inclus le .h
Bonjour,
Tu utilises le signe == qui est un opérateur de comparaison.
Mais on ne voit aucun test if qui exploite ces comparaisons. Curieux.
:)
Tu utilises le signe == qui est un opérateur de comparaison.
Mais on ne voit aucun test if qui exploite ces comparaisons. Curieux.
:)
Je n'ai pas bien compris. Il s'agit juste de vérifier que les fonctions font bien ce qu'on leur demande en fait.
je ne suis pas spécialiste en C, je voulais juste attirer ton attention sur l'usage du signe ==
c'est cette ecriture qui m'a fait réagir
assert(get_element(&v,0) == 0.0);
par exemple dans cette ligne, moi je lis que la fonction assert reçoit comme argument VRAI si get_element(&v,0) == 0.0 et FAUX dans le cas contraire.
est-ce ce que je me trompe?
c'est cette ecriture qui m'a fait réagir
assert(get_element(&v,0) == 0.0);
par exemple dans cette ligne, moi je lis que la fonction assert reçoit comme argument VRAI si get_element(&v,0) == 0.0 et FAUX dans le cas contraire.
est-ce ce que je me trompe?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Le message d'erreur est clair :
undefined reference to 'init_vecteur_creux' etc.
En gros, il ne connaît pas la fonction init_vecteur_creux lors de l'édition des liens.
La fonction est-elle bien définie dans un .c et compiler avant ?
Faudrait savoir comment tu compiles. Si tu compiles juste ce fichier, c'est normal que ça ne marche pas.
Le message d'erreur est clair :
undefined reference to 'init_vecteur_creux' etc.
En gros, il ne connaît pas la fonction init_vecteur_creux lors de l'édition des liens.
La fonction est-elle bien définie dans un .c et compiler avant ?
Faudrait savoir comment tu compiles. Si tu compiles juste ce fichier, c'est normal que ça ne marche pas.
Oui je compilais que ce fichier oui. Pourquoi normal ?