Make: *** [src/fonction.o] Error 1
Spenzys
-
Spenzys -
Spenzys -
Bonjour,
Je souhaite créer un fichier objet à partir d'un fichier .c en utilisant un makefile contenant le code suivant:
(il y a effectivement bien une tabulation avant le gcc mais elle ne s'affiche pas sur le forum)
mais lorsque j'exécute "make src/fonction.o", j'obtient ceci:
Je précise que mon dossier include contient bien mon fichier.h et que lorsque j'execute "gcc -c src/fonction.c -I include" directement dans le compilateur, tout marche parfaitement.
Merci de votre aide par avance!!
Je souhaite créer un fichier objet à partir d'un fichier .c en utilisant un makefile contenant le code suivant:
src/fonction.o : src/fonction.c
gcc -c src/fonction.c -I include
(il y a effectivement bien une tabulation avant le gcc mais elle ne s'affiche pas sur le forum)
mais lorsque j'exécute "make src/fonction.o", j'obtient ceci:
src/fonction.c:2:19: fatal error: types.h: No such file or directory
compilation terminated.
<builtin>: recipe for target 'src/fonction.o' failed
make: *** [src/fonction.o] Error 1
Je précise que mon dossier include contient bien mon fichier.h et que lorsque j'execute "gcc -c src/fonction.c -I include" directement dans le compilateur, tout marche parfaitement.
Merci de votre aide par avance!!
Configuration: Macintosh / Chrome 78.0.3904.97
3 réponses
C'est pourtant clair, tu as écris ton makefile, de façon à se qu'il aille chercher un dossier ou un fichier.. or selon le code retour, types.h n'existe pas. Je t'invite à partager ton code entier (makefile) s'il y a, mais aussi l'arborescence COMPLETE de ton projet.
Merci.
Merci.
Ce qui m'étonne le plus après reflexion c'est de voir que ton fichier .o que tu cherches à crée n'a aucune dépendance de header (.h) .. essaye de rajouter les .h après ta premiere ligne regroupant cible et dependance..
Voici mon makefile (j'ai ajouté des dépendances .h)
voici mon fichier types .h:
et voici mon fichier fonction.c:
Le projet est structuré comme suit:
sachant que je cherche à creer fonction.o dans le fichier src.
src/fonction.o : src/fonction.c
gcc -c src/fonction.c -I include
src/fonction.c : include/types.h
voici mon fichier types .h:
#ifndef TYPES
#define TYPES
struct point3D{
double x;
double y;
double z;
};
struct point2D{
double x;
double y;
};
#endif
et voici mon fichier fonction.c:
#include <stdio.h>
#include "types.h"
struct point3D Lorentz( struct point3D u, double sigma,double rho,double beta, double dt)
{
// determine la vitesse a l'instant t
struct point3D v;
v.x=sigma*(u.y-u.x);
v.y=u.x*(rho-u.z)-u.y;
v.z=u.x*u.y-(beta*u.z);
// Actuallise la position du point
u.x=u.x+v.x*dt;
u.y=u.y+v.y*dt;
u.z=u.z+v.z*dt;
return(u);
}
struct point2D Lotka_Volterra( struct point2D u, double alpha, double beta,double delta, double gamma, double dt )
{
// dterminae la vitesse
struct point2D v;
v.x=(alpha*u.x)-(beta*u.y);
v.y=(delta*u.x)-(gamma*u.y);
// Actuallise la position du point
u.x=u.x+v.x*dt;
u.y=u.y+v.y*dt;
return(u);
}
double Bifurcation_fourche( double u,double mu, double alpha, double dt)
{
// dterminae la vitesse
double v;
v=mu*u+alpha*(u*u*u);
// Actuallise la position du point
u=u+v*dt;
return(u);
}
Le projet est structuré comme suit:
projet/makefile.mk
projet/include/types.h
projet/src/fonction.c
sachant que je cherche à creer fonction.o dans le fichier src.
Merci pour votre réponse
Il y avait bien une tabulation, c'était effectivement juste un problème d'affichage. Par contre j'ai essayé la commande suggérée mais mon problème reste le même
Est-il possible que je fasse une erreur lorsque j'utilise le makefile avec le terminal? J'utilise la commande
Il y avait bien une tabulation, c'était effectivement juste un problème d'affichage. Par contre j'ai essayé la commande suggérée mais mon problème reste le même
Est-il possible que je fasse une erreur lorsque j'utilise le makefile avec le terminal? J'utilise la commande
make src/fonction.o