Problème script shell raccourci compilation
Fermé
flo
-
6 oct. 2007 à 18:45
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 7 oct. 2007 à 10:54
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 7 oct. 2007 à 10:54
A voir également:
- Problème script shell raccourci compilation
- Script vidéo youtube - Guide
- Raccourci word - Guide
- Raccourci retourner écran - Guide
- Raccourci pavé tactile - Guide
- Classic shell windows 11 - Télécharger - Personnalisation
13 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
6 oct. 2007 à 18:48
6 oct. 2007 à 18:48
Salut,
Mais lorsque je tape gcc_graphique -Wall -Werror -O mon_prog.c, cela m'affiche que la commande gcc_graphique est inconnue.
Alors tape
Mais lorsque je tape gcc_graphique -Wall -Werror -O mon_prog.c, cela m'affiche que la commande gcc_graphique est inconnue.
Alors tape
./gcc_graphique -Wall -Werror -O mon_prog.cvoir pour plus d'infos executer un script shell
Mais en fait où je dois placer mon script ? car si je le met dans le meme répertoire que mon prog.c, cela m'affiche :
/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld a retourné 1 code d'état d'exécution
Faut-il que je le mette dans le même répertoire que mon prog ?
/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld a retourné 1 code d'état d'exécution
Faut-il que je le mette dans le même répertoire que mon prog ?
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
6 oct. 2007 à 19:01
6 oct. 2007 à 19:01
Tu le mets à l'emplacement où la compilation manuelle fonctionne.
Ok, mais c'est où que la compilation manuelle fonctionne ? Je te remercie de prendre le temps de m'aider lami20j
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
6 oct. 2007 à 19:54
6 oct. 2007 à 19:54
l'emplacement de ton fichier graphics.h c'est bien celui-là?
affiche la ligne #include de ton fichier .c qui concerne graphics.h
/home/flo/Desktop/C_graphique/lib/include/graphics.h
affiche la ligne #include de ton fichier .c qui concerne graphics.h
Mon fichier graphics.h se trouve : /home/flo/Desktop/C_graphique/include/graphics.h, dans /home/flo/Desktop/C_graphique/lib/ j'ai libgraphics.a En copiant mon script dans le répertoire de graphics.h sa ne marche toujours pas quand je tape la commande gcc_graphique dans le terminal.
Plus précisement, mon message d'erreur est :bash: gcc_graphique : commande introuvable
Ne serait-ce pas une histoire de .bashrc ? si oui que dois-je faire ?
Ne serait-ce pas une histoire de .bashrc ? si oui que dois-je faire ?
bob031
Messages postés
8158
Date d'inscription
samedi 7 août 2004
Statut
Membre
Dernière intervention
1 septembre 2014
473
6 oct. 2007 à 20:35
6 oct. 2007 à 20:35
Bonjour,
Le programme gcc_graphique n’est disponible que si vous avez correctement configuré votre système, comme
indiqué dans l’exercice “Configuration” du premier TP.
source : http://www-licence.ufr-info-p6.jussieu.fr/...
est-ce le cas ?
:-))
Le programme gcc_graphique n’est disponible que si vous avez correctement configuré votre système, comme
indiqué dans l’exercice “Configuration” du premier TP.
source : http://www-licence.ufr-info-p6.jussieu.fr/...
est-ce le cas ?
:-))
ahhh !! j'avais complètement oublié; oui c'est ça, d'ailleurs je crois que je dois copier le dot.bash_profile plutot
bobo31 tu pourrais me dire ce qu"il faut que je fasse là stp ? je galère avec les bash, je sais pas lesquels prendre, et où les copier. Merci d'avance
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
6 oct. 2007 à 21:05
6 oct. 2007 à 21:05
Justement, j'ai suivi la procédure ^^ et ca marche pas. Comment je peux faire pour que mon bash remplace mon gcc_graphique puisque j'ai cru comprendre que c'était un alias.
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
7 oct. 2007 à 10:54
7 oct. 2007 à 10:54
Salut,
Il faut vérifier chez toi avec la commande find (voir plus haut )
Changement de répertoire et le contenu de gcc_graphique avant la modification
gcc_graphique après modifications
je copie le fichier test.c dans le répertoire utils
Je compile en utilisant gcc_graphique, le fichier en sortie s'appelle a.out
Pour l'exécuter tu tape ./a.out ou /home/lami20j/src/C_graphique/utils/a.out
Mais tu n'est pas obligé de copier le fichier, tu peux le compiler de n'importe où
Voici le résultat https://www.cjoint.com/?khk66zJhZD ;-)
lami20j@debian:~/src$ pwd /home/lami20j/src lami20j@debian:~/src$ tar xzf C_graph.tgz lami20j@debian:~/src$ cd C_graphique/src lami20j@debian:~/src/C_graphique/src$ pwd /home/lami20j/src/C_graphique/src lami20j@debian:~/src/C_graphique/src$ head graphics.c #include <stdio.h> #include <stdlib.h> #include <gdk/gdk.h> #include <gtk/gtk.h> #include <pthread.h> #include <signal.h> #include <unistd.h> #include "graphics.h" GdkPixmap *Pixmap; lami20j@debian:~/src/C_graphique/src$ find /usr/include/ -name 'g[dt]k.h' /usr/include/gtk-1.2/gtk/gtk.h /usr/include/gtk-1.2/gdk/gdk.h /usr/include/gtk-2.0/gtk/gtk.h /usr/include/gtk-2.0/gdk/gdk.hSur mon système j'ai les fichiers gdk.h et gtk.h dans /usr/include/gtk-2.0 donc j'ai du modifier le graphics.c et recompiler graphics.h. Voilà le fichier graphics.c après modifications
Il faut vérifier chez toi avec la commande find (voir plus haut )
lami20j@debian:~/src/C_graphique/src$ head graphics.c #include <stdio.h> #include <stdlib.h> #include <gtk-2.0/gdk/gdk.h> #include <gtk-2.0/gtk/gtk.h> #include <pthread.h> #include <signal.h> #include <unistd.h> #include "graphics.h" GdkPixmap *Pixmap; lami20j@debian:~/src/C_graphique/src$ make gcc -Wall -g -c graphics.c -I../include `pkg-config --cflags gtk+-2.0` ar -rv ../lib/libgraphics.a graphics.o r - graphics.o gcc test.c -Wall -g -o test -I../include -L../lib `pkg-config --cflags --libs gtk+-2.0` -lpthread -lgraphics
Changement de répertoire et le contenu de gcc_graphique avant la modification
lami20j@debian:~/src/C_graphique/src$ cd ../utils/ lami20j@debian:~/src/C_graphique/utils$ cat gcc_graphique #!/bin/bash CGRAPH_DIR="/Infos/lmd/2005/licence/ue/li221-2005oct/C_graphique" LIB="$CGRAPH_DIR/lib" INCLUDE="$CGRAPH_DIR/include" gcc $* -I$INCLUDE -L$LIB `pkg-config --libs --cflags gtk+-2.0` -lpthread -lgraphics
gcc_graphique après modifications
lami20j@debian:~/src/C_graphique/utils$ cat gcc_graphique #!/bin/bash CGRAPH_DIR="/home/lami20j/src/C_graphique" LIB="$CGRAPH_DIR/lib" INCLUDE="$CGRAPH_DIR/include" gcc $* -I$INCLUDE -L$LIB `pkg-config --libs --cflags gtk+-2.0` -lpthread -lgraphics
je copie le fichier test.c dans le répertoire utils
lami20j@debian:~/src/C_graphique/utils$ cp -v ../src/test.c . `../src/test.c' -> `./test.c' lami20j@debian:~/src/C_graphique/utils$ ls gcc_graphique Makefile test.c
Je compile en utilisant gcc_graphique, le fichier en sortie s'appelle a.out
Pour l'exécuter tu tape ./a.out ou /home/lami20j/src/C_graphique/utils/a.out
lami20j@debian:~/src/C_graphique/utils$ ./gcc_graphique test.c lami20j@debian:~/src/C_graphique/utils$ ls a.out gcc_graphique Makefile test.c lami20j@debian:~/src/C_graphique/utils$ ./a.out
Mais tu n'est pas obligé de copier le fichier, tu peux le compiler de n'importe où
lami20j@debian:~$ pwd /home/lami20j lami20j@debian:~$ src/C_graphique/utils/gcc_graphique src/C_graphique/src/test.c lami20j@debian:~$ ls -l a.out -rwxr-xr-x 1 lami20j lami20j 31412 2007-10-07 10:44 a.out lami20j@debian:~$
Voici le résultat https://www.cjoint.com/?khk66zJhZD ;-)