Référence indéfinie + pointeur sur fonction
Résolu/Fermé
astrocurieux
Messages postés
334
Date d'inscription
mardi 24 février 2015
Statut
Membre
Dernière intervention
29 novembre 2019
-
Modifié le 15 mai 2017 à 17:23
astrocurieux Messages postés 334 Date d'inscription mardi 24 février 2015 Statut Membre Dernière intervention 29 novembre 2019 - 16 mai 2017 à 10:49
astrocurieux Messages postés 334 Date d'inscription mardi 24 février 2015 Statut Membre Dernière intervention 29 novembre 2019 - 16 mai 2017 à 10:49
A voir également:
- Référence indéfinie vers fonction c
- Il est en cours de transport vers votre site de livraison ✓ - Forum Consommation et internet
- Référence indéfinie vers - Forum C++
- Windows 7 vers windows 10 - Guide
- Clémence souhaite faire calculer automatiquement les prix de 30 produits dans trois devises. elle a déjà saisi une formule de calcul pour le tarif du premier produit dans la première devise. corrigez sa formule afin que recopiée vers le bas puis vers la droite, elle remplisse correctement tout le tableau. - Forum Excel
- Fonction si et - Guide
1 réponse
[Dal]
Messages postés
6057
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
17 mars 2023
1 043
Modifié le 15 mai 2017 à 18:57
Modifié le 15 mai 2017 à 18:57
Salut astrocurieux,
"Undefined reference" est une erreur signalée au stade de la liaison.
As tu bien mis dans ton makefile ou dans ta ligne gcc les fichiers .c où sont implémentées tes fonctions ?
Le code suivant compile bien :
Ainsi, d'après les commentaires dans ton .h,
Dal
"Undefined reference" est une erreur signalée au stade de la liaison.
As tu bien mis dans ton makefile ou dans ta ligne gcc les fichiers .c où sont implémentées tes fonctions ?
Le code suivant compile bien :
typedef struct { int something; } t_Serv;
int cmd_0(t_Serv *, char*);
int cmd_0(t_Serv * first_param, char* second_param) {
/* do something extraordinary */
return 0;
}
int main(void) {
int (*Psf[18])(t_Serv *, char *);
Psf[0] = cmd_0;
return 0;
}
Ainsi, d'après les commentaires dans ton .h,
cmd_0()serait implémentée dans
Cmd/cmd_A_One.cqu'il te faut donc compiler, afin de disposer d'un .o accessible au linker que tu passes dans la phase de liaison.
Dal
15 mai 2017 à 20:33
j'utilise un Makefile qui d'ordinaire sur d'autre projet fonctionne a la perfection.
j'ai effectivement bien indiquer les différents chemins et nom des fichiers et ce dernier parvient a tout compilé quand il n'y a pas d'erreur.
j'ai peur d'avoir crée une inclusion circulaire entre mes fichiers pour être franc ...
je suis habitué au C et Cpp et la rien a faire je ne comprend pas de ou provient l'erreur.
15 mai 2017 à 20:48
après sa suppression tout marche de nouveau comme avant.
merci de m'avoir diriger dans la bonne direction.
sujet résolut
16 mai 2017 à 10:17
les Makefile peuvent être des galères absolues, bravo d'avoir trouvé l'origine de l'erreur :-)
dernièrement, je suis tombé sur çà : https://mesonbuild.com/ qu'il faut que je creuse un de ces jours
le projet est jeune, mais il a l'air prometteur, si cela ne te fait pas peur de sortir des outils purs GNU :-)
16 mai 2017 à 10:49
je manque de temps pour m’investir sur d'autre projet mais je le garde sous le coude.
c'st courageux de ce lancer sur du GNU ^^
bonne journée