logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 05-06-2021 20:55:28

thebaide_blue
Membre
Inscription : 07-02-2014

programmation modulaire [résolu]

]Bonjour, je me suis lancé dans l'apprentissage de la programmation en langage C, je suis débutant, tout allait très bien jusqu'à ce que j'aborde la programmation modulaire. Le compilateur ne prends pas en compte des fichiers extérieurs sans doute ne fait il pas le lien.

Dans le cours on crée pour l'exemple 3 petits fichiers :main.c, player.c, player.h

j'ai inclus dans les directives de préprocesseur le fichier player.h entre double guillemets dans les deux autres fichiers, comme ceci: #include "player.h"

Je tape sur la console: gcc *.c -o prog

Un message d'erreur me dit que le fichier player.h n'existe pas

Comment faire pour remédier au problème ? c'est peut-être pas grand chose mais je ne trouve pas la solution.

Merci.

Cordialement.

Dernière modification par thebaide_blue (06-06-2021 13:00:08)

Hors ligne

#2 05-06-2021 21:21:44

jpt
Banni(e)
Distrib. : Debian 10.8
Noyau : Linux 5.7.10 (backports)
(G)UI : LXDE
Inscription : 12-09-2020

Re : programmation modulaire [résolu]

Il te faut sans doute spécifier sur la ligne include où se trouve ton fichier .h car sans précision de chemin, le compilateur va aller le chercher dans /usr/include ou ce genre d'endroit.

AMD Ryzen3 3200G sur Gigabyte B450M & Make Love Not War

Hors ligne

#3 05-06-2021 22:03:10

raleur
Membre
Inscription : 03-10-2014

Re : programmation modulaire [résolu]

Non, ça devrait marcher et chez moi ça marche. Il y a peut-être une faute de frappe quelque part ?
On peut voir le message d'erreur exact et complet ?

Dernière modification par raleur (05-06-2021 22:03:31)


Il vaut mieux montrer que raconter.

Hors ligne

#4 06-06-2021 06:18:05

thebaide_blue
Membre
Inscription : 07-02-2014

Re : programmation modulaire [résolu]

Bonjour et merci pour vos réponses, voici le message d'erreur:

main.c:2:10: fatal error: player.h: Aucun fichier ou dossier de ce type
#include "player.h"
          ^~~~~~~~~~
compilation terminated.

je n'ai rien de plus même en ajoutant -Wall à ma commande

Merci.
Cordialement

Hors ligne

#5 06-06-2021 08:31:34

jpt
Banni(e)
Distrib. : Debian 10.8
Noyau : Linux 5.7.10 (backports)
(G)UI : LXDE
Inscription : 12-09-2020

Re : programmation modulaire [résolu]

@raleur : oui, tu dois avoir raison, j'avais la flemme de vérifier.

Et donc ce matin à la fraîche, j'ai trouvé ça là :

Pour inclure un fichier .h se trouvant dans le dossier où est installé votre IDE, vous devez utiliser les chevrons < > :

#include <stdlib.h>


Pour inclure un fichier .h se trouvant dans le dossier de votre projet, vous devez en revanche utiliser les guillemets :

#include "monfichier.h"


La bonne question c'est : que mettre si le .h n'est ni dans le dossier de l'IDE, ni dans le dossier du projet, ni dans le path ? Son chemin complet, à tous les coups. Et comme on ne sait pas où il est…


AMD Ryzen3 3200G sur Gigabyte B450M & Make Love Not War

Hors ligne

#6 06-06-2021 12:59:35

thebaide_blue
Membre
Inscription : 07-02-2014

Re : programmation modulaire [résolu]

Bonjour à vous et merci de m'avoir mis sur la piste, oui vous aviez raison...c'est bien une histoire d'emplacement, quand j'ai crée les deux autres fichiers ils ont été placés dans documents et non dans le dossier avec lequel je travaille et comme je me mets a sa racine, il ne connaissait pas.
Vous m'avez sorti d'un bel embarras, merci encore.

Cordialement.

Salut !! smile

Hors ligne

Pied de page des forums