Forums FUG-FR
https://forums.fug-fr.org/cgi-bin/yabb2/YaBB.pl
Divers et varié >> Programmation >> Exécution d'un programme sous sh & Makefile
https://forums.fug-fr.org/cgi-bin/yabb2/YaBB.pl?num=1224842668

Message started by Ecureuil on 24. Oct 2008 at 12:04

Title: Exécution d'un programme sous sh & Makefile
Post by Ecureuil on 24. Oct 2008 at 12:04
Bonjour à tous, alors voilà je débute en C et ai quelques questions mais alors "bêtes" dont les réponses attendues sont de bien entendu si évidentes qu'elles ne sont mentionnées dans le bouquin avec lequel je bosse... :-X

Je tente d'éxécuter sous sh un programme intitulé bonjour:

Code (]#include <stdlib.h>
#include <stdio.h>

int main(void)
{
   printf("Bonjour\n");

   return 0;
}[/CODE):

Je lance donc un:
[CODE]$ gcc -g -W -Wall -std=c99 bonjour.c -o bonjour

Là, ras, "tout" s'est bien passé.
Puis à la racine du répertoire où se trouvent mes différents fichiers bonjour (bonjour.c, bonjour.o, bonjour) je fais un:

Code (]$ bonjour[/CODE):
Et là j'ai le droit à un:
[CODE]bonjour: not found


Je vous l'avais dit que c'était une question de newbie... :P

De plus, le fichier Makefile suivant:

Code (]1:  CC = gcc
2:  CFLAGS = -g -W -Wall -std=c99
3:  LDFLAGS =
4:  OBJ = bonjour.o
5:
6:  bonjour: $(OBJ)
7:         $(CC) $(OBJ) $(LDFLAGS) -o bonjour
8:
9:  bonjour.o: bonjour.c
10:
11: clean:
12:          rm -f $(OBJ) bonjour[/CODE):

Et quand je fais:
[CODE]$ make

J'ai en retour:
[CODE]"Makefile", line 7: Need an operator
"Makefile", line 12: Need an operator
make: fatal errors encountered -- cannot continue
[/CODE]
Merci. ;)

Title: Re: Exécution d'un programme sous sh & Makefile
Post by francis on 24. Oct 2008 at 13:10

Ecureuil wrote on 24. Oct 2008 at 12:04:
Puis à la racine du répertoire où se trouvent mes différents fichiers bonjour (bonjour.c, bonjour.o, bonjour) je fais un:

Code (]$ bonjour[/CODE):
Et là j'ai le droit à un:
[CODE]bonjour: not found

Soit . n'est pas dans ton PATH (auquel cas: ./bonjour), soit il te faut rehash'er si tu es sous (t)csh.

Ecureuil wrote on 24. Oct 2008 at 12:04:
Et quand je fais:

Code (]$ make[/CODE):
J'ai en retour:
[CODE]"Makefile", line 7: Need an operator
"Makefile", line 12: Need an operator
make: fatal errors encountered -- cannot continue

Tu as bien seulement une tabulation devant ces commandes, pas d'espaces qui se seraient glissés là ?

Title: Re: Exécution d'un programme sous sh & Makefile
Post by patrick on 24. Oct 2008 at 13:12

Ecureuil wrote on 24. Oct 2008 at 12:04:
[CODE]bonjour: not found[/CODE]


Le path (ie le chemin de recherche des exécutables) ne comprend pas le répertoire courant.
Il faut taper ./bonjour

C'est pour des raisons de sécurités.

Pour le Makefile je ne sais pas...

Title: Re: Exécution d'un programme sous sh & Makefile
Post by Ecureuil on 24. Oct 2008 at 14:50

fgudin wrote on 24. Oct 2008 at 13:10:
Soit . n'est pas dans ton PATH (auquel cas: ./bonjour), soit il te faut rehash'er si tu es sous (t)csh.

Effectivement je n'ai pas le . dans mon PATH.
Je n'oserai pas vous demander comment l'on fait pour le rajouter, je vais chercher...


fgudin wrote on 24. Oct 2008 at 13:10:
Tu as bien seulement une tabulation devant ces commandes, pas d'espaces qui se seraient glissés là ?

Euh... ::) Je n'ai pas mis de tabulation, nan...
Faut les mettre à quel endroit ?
Quant aux espaces, je vais regarder ça.
Merci. ;)

Title: Re: Exécution d'un programme sous sh & Makefile
Post by Ecureuil on 24. Oct 2008 at 14:53

patrick wrote on 24. Oct 2008 at 13:12:
Le path (ie le chemin de recherche des exécutables) ne comprend pas le répertoire courant.
Il faut taper ./bonjour

C'est pour des raisons de sécurités.

Merci patrick, ça fonctionne ! ;)

Title: Re: Exécution d'un programme sous sh & Makefile
Post by francis on 24. Oct 2008 at 16:08

Ecureuil wrote on 24. Oct 2008 at 14:50:
Euh... ::) Je n'ai pas mis de tabulation, nan...
Faut les mettre à quel endroit ?
Quant aux espaces, je vais regarder ça.
Merci. ;)

cf. make(1):

Quote:
SHELL COMMANDS
    Each target may have associated with it a series of shell commands, normally used to create the target.  Each of the commands in this script must be preceded by a tab.

(enfin... si c'est bien la cause du pb)

Title: Re: Exécution d'un programme sous sh & Makefile
Post by Dumpy on 24. Oct 2008 at 17:42

Quote:
je débute en C et ai quelques questions mais alors "bêtes" dont les réponses attendues sont de bien entendu si évidentes qu'elles ne sont mentionnées dans le bouquin avec lequel je bosse


Il y a de la bonne lecture là, et en fr siouplait. :)

En recompilant ce prog. avec la bonne option , il sera possible de le déverminer avec gdb, et de voir si make à raison de se plaindre...

Bon WE :)

Forums FUG-FR » Powered by YaBB 2.5.2!
YaBB Forum Software © 2000-2025. All Rights Reserved.