Pb compilation programation modulaire
Fermé
matt
-
Modifié le 29 oct. 2019 à 18:18
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 30 oct. 2019 à 08:57
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 30 oct. 2019 à 08:57
A voir également:
- Pb compilation programation modulaire
- Programation ✓ - Forum Programmation
- La programation - Forum Programmation
- Programation - Forum Programmation
- Programation - Forum Études / Formation High-Tech
- Logiciel de programation - Forum Programmation
5 réponses
Tomsuper
Messages postés
1926
Date d'inscription
mardi 24 mai 2011
Statut
Membre
Dernière intervention
19 août 2020
358
29 oct. 2019 à 16:59
29 oct. 2019 à 16:59
Bonjour,
Peut tu tester la fonction system("commande") que tu met just avant l'appel à hello() ?
exemple : system("gcc ton_fichier_avec_ton_main ton_fichier_avec_ton_Hello") je pense peut être à tord que tu utilise gcc pour compiler.
avant ça, je te conseil de mettre apres tes include de tes .h, le prototype de ta fonction hello() soit :
void hello();
tiens moi au jus
Peut tu tester la fonction system("commande") que tu met just avant l'appel à hello() ?
exemple : system("gcc ton_fichier_avec_ton_main ton_fichier_avec_ton_Hello") je pense peut être à tord que tu utilise gcc pour compiler.
avant ça, je te conseil de mettre apres tes include de tes .h, le prototype de ta fonction hello() soit :
void hello();
tiens moi au jus
Tomsuper
Messages postés
1926
Date d'inscription
mardi 24 mai 2011
Statut
Membre
Dernière intervention
19 août 2020
358
Modifié le 29 oct. 2019 à 18:18
Modifié le 29 oct. 2019 à 18:18
#include <stdio.h> #include <stdlib.h> #include "entete1.h" <bold>void hello();</bold> int main() { FILE* fichier2 = NULL; fichier2 = fopen("fonction1.c", "a"); if(fichier2 != NULL) { fprintf(fichier2, "void hello()\n{\nprintf(\"Hello there\");\n}"); //Ecriture de la fonction dans .c pour l'utiliser par la suite fclose(fichier2); } else { printf("Impossible d'ouvrir le fichier fonction1.c"); } <bold>system("gcc ton_fichier_avec_ton_main ton_fichier_avec_ton_Hello");</bold> hello(); return 0; }
Merci pour ta réponse mais je n'ai pas tres bien compris ce que je devais mettre dans system()??
Tomsuper
Messages postés
1926
Date d'inscription
mardi 24 mai 2011
Statut
Membre
Dernière intervention
19 août 2020
358
29 oct. 2019 à 17:38
29 oct. 2019 à 17:38
mettre entre " " gcc (ton compilateur) suivis des fichiesr que tu veux compiler, sois le ficher que tu as creer ton main() et ton ficher creer avec ton fprintf sois fonction1.c
J'ai bien fait comme tu m'a dit mais malheureusement je garde la même erreur :
"undefined reference to 'hello' " avec ce code
"undefined reference to 'hello' " avec ce code
#include <stdio.h> #include <stdlib.h> #include "entete1.h" void hello(); int main() { FILE* fichier2 = NULL; fichier2 = fopen("fonction1.c", "a"); if(fichier2 != NULL) { fprintf(fichier2, "void hello()\n{\nprintf(\"Hello there\");\n}"); fclose(fichier2); } else { printf("Impossible d'ouvrir le fichier entete1.h"); } system("gcc main.c fonction1.c"); hello(); return 0; }
Tomsuper
Messages postés
1926
Date d'inscription
mardi 24 mai 2011
Statut
Membre
Dernière intervention
19 août 2020
358
29 oct. 2019 à 17:59
29 oct. 2019 à 17:59
As tu un nouvelle exécutable dans ton répertoire de travail ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 090
30 oct. 2019 à 08:57
30 oct. 2019 à 08:57
Salut matt,
Ton fichier ne sera créé qu'à l'exécution et non à la compilation du programme.
Or, tu as besoin de ce fichier au stade de la compilation.
Tu ne peux donc pas compiler ton programme.
Dal
Ton fichier ne sera créé qu'à l'exécution et non à la compilation du programme.
Or, tu as besoin de ce fichier au stade de la compilation.
Tu ne peux donc pas compiler ton programme.
Dal