compilation en C - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 21-12-2006 à 14:09:06
fais voir ta source
Marsh Posté le 21-12-2006 à 17:46:33
pitetre un petit "#include" manquant la !!! Enfin comme dit plus haut, la source!!!
Marsh Posté le 21-12-2006 à 17:48:48
ReplyMarsh Posté le 21-12-2006 à 17:49:24
Dumbledore a écrit : en tout cas, c'est pas ton compilateur qui pose problème.... |
Voici par exemple un code ...
il me sort :
warning: incompatible implicit declaration of built-in function 'cos'
main ()
{
int i;
float a=1;
a=cos(a);
i=i+1;
}
Marsh Posté le 21-12-2006 à 17:51:39
c'est tout le code ???
il manque les include ... la par exemple ta fonction cos elle sort pas d'un chapeau magique :-)
Marsh Posté le 21-12-2006 à 17:54:50
ReplyMarsh Posté le 21-12-2006 à 18:12:02
Tomate a écrit : #include <stdlib.h> |
ok, merci, le petit programme fonctionne en intégrant ces deux include.
Mais le programme suivant me sort:
batch_desar_env.c: In function main:
batch_desar_env.c:20: warning: incompatible implicit declaration of built-in function sprintf
batch_desar_env.c:38: warning: incompatible implicit declaration of built-in function printf
batch_desar_env.c:40: warning: incompatible implicit declaration of built-in function strcat
batch_desar_env.c:51: warning: incompatible implicit declaration of built-in function printf
As tu une idée ? merci d'avance
#include <stdlib.h>
#include <math.h>
#include <sys/types.h>
#include <unistd.h>
#include <dirent.h>
main()
{
DIR *dirp,*dirf;
struct dirent *df;
int nb_file=0;
char command[128], path[96], file[64];
sprintf(path,"%s","/mnt/SEAGATE/data/env" );
dirf = opendir(path);
while(df = readdir(dirf))
{
if (!(strncmp(df->d_name,"cya",3 )))
{
/* lecture dans repertoire de donn�s */
nb_file += 1;
sprintf(path,"%s","/mnt/SEAGATE/data/env" );
sprintf(command,"%s","/home/glb/SRC/dec/tri " );
sprintf(file,"%s",df->d_name);
printf("*** Traitement du fichier %s en cours ***\n",file);
strcat(path,"/" );
strcat(path,file);
strcat(command,path);
system(command);
}
}
printf("\n%d fichiers traites.\n",nb_file);
}
Marsh Posté le 21-12-2006 à 18:15:49
philx a écrit : c'est tout le code ??? |
OUi c'est tout le moment ... voir la suite sur le post au-dessus.
En ce qui concerne le chapeau magique, si je savais ce qu'il faut faire je ne viendrai pas demander :-)
Ce sont des programmes qui compilent sans souci tel quel sur d'autres machines. Je sais bien qu'il y a des trucs à modifier mais je ne sais pas lesquels ni où donc je demande aux personnes qui savent ....
Merci si tu peux m'aider un peu plus
Marsh Posté le 21-12-2006 à 18:33:00
stdio.h qui manque ?
va falloir que tu révises ton bouquin de C sous Unix ...
Marsh Posté le 21-12-2006 à 18:52:19
Dark_Schneider a écrit : stdio.h qui manque ? |
Oui, ça c'est sur ....
J'ai ajouté stdio.h dans les include, ça marche mieux, mais il y a encore :
batch_desar_env.c:40: warning: incompatible implicit declaration of built-in function strcat
donc sans doute encore un include manquant !!
Quel est le moyen de faire prendre en compte tous les include automatiquement à chaque compilation sans devoir les mettre dans chacun des programmes.
Encore une fois, ce programme se compile et fonctionne sur une autre machine sans avoir tous ces include ...
D'où vient cette différence ?
en tout cas merci bien ...
Marsh Posté le 21-12-2006 à 18:56:54
...
heu , maintena nt ,il est gentil , il degage et il apprend a programmer avant de venir.
va voir la section prog , ils vont t'adorer
Marsh Posté le 21-12-2006 à 19:14:51
mouchoirs10 a écrit : Oui, ça c'est sur .... |
Parce que sur ton autre machine tourne sans doute une moulinette qui te prémâche le boulot. Mais en C par définition il faut tout faire soi-même et donc écrire tous les include nécéssaires...
Marsh Posté le 21-12-2006 à 19:31:25
Les warning c'est pas bloquants hein...
Jpense plutot que c'est ton programme qui fait rien tout simplement
Marsh Posté le 21-12-2006 à 19:36:31
mouchoirs10 a écrit : batch_desar_env.c:40: warning: incompatible implicit declaration of built-in function strcat |
#include <string.h> ?
Marsh Posté le 21-12-2006 à 19:44:08
ReplyMarsh Posté le 21-12-2006 à 19:46:30
M300A a écrit : Les warning c'est pas bloquants hein... |
mais oui, évidemment qu'il ne fait rien ...
J'ai tout de même pris la peine d'expliquer que ça marchait tres bien sur d'autres machines ...
merci quand même
Marsh Posté le 21-12-2006 à 19:47:54
Xavier_OM a écrit : Parce que sur ton autre machine tourne sans doute une moulinette qui te prémâche le boulot. Mais en C par définition il faut tout faire soi-même et donc écrire tous les include nécéssaires... |
oui sans doute, mais justement j'aimerais bien savoir comment faire pour prémacher ce boulot. C'est bien ça que je cherche à faire.
Merci
Marsh Posté le 21-12-2006 à 19:54:15
notornis a écrit : ... |
Bonsoir cher inconnu,
toi tu es vraiment trop fort, non seulement tu sais tout en programmation mais en plus tu es le roi de la politesse, surtout bien caché derrière un pseudo....
Alors ton "il dégage" tu te le mets où je pense et tu vas jouer avec tes copains de la "section prog" où, malgré tout, je suis sur qu'il y aurait bien quelques personnes qui m'aideraient volontier. Ou du moins ils me parleraient poliment, mais celà n'est pas donné à tout le monde ...
Alors si mon problème ne t'interesse pas, je ne t'oblige pas à t'en occuper ...
Marsh Posté le 21-12-2006 à 20:04:06
mouchoirs10 a écrit : merci bien, c'était celle la ... |
Un petit conseil: quand tu manges des implicit declaration, fait un # man "laFonction" , parce que ca sent généralement le header qui manque...
Edit: et relis un bon bouquin de C, ca ira beaucoup plus vite
Marsh Posté le 21-12-2006 à 20:14:54
mouchoirs10 a écrit : mais oui, évidemment qu'il ne fait rien ... |
Toi aussi tu es sympathique.
Je te dis qu'un warning n'est pas critique, c'est un fait.
Donc ton programme ne fais rien.
En plus mauvaise cat, et foutage de gueule (tu veux pas qu'on l'écrive aussi ton soft).
/me vote topiclos
Marsh Posté le 21-12-2006 à 20:21:36
mouchoirs10 a écrit : Ou du moins ils me parleraient poliment, mais celà n'est pas donné à tout le monde ... |
Les progueux de prog ? polis ?
Marsh Posté le 21-12-2006 à 20:25:47
l0ky a écrit : Les progueux de prog ? polis ? |
mauvaise langue. On est très polis avec les non-boulays.
Marsh Posté le 21-12-2006 à 20:29:02
vous le prenez celui là ? cadeau, pas de charges à payer. y'a des vrais morceaux avec.
Marsh Posté le 21-12-2006 à 20:29:34
On peut vous faire un emballage cadeau si c'est pour offrir
Marsh Posté le 21-12-2006 à 20:30:35
ah oué mais non, noël c'est pas GNU compliant, non?
Marsh Posté le 21-12-2006 à 20:31:18
si on partage toussa
edit : en plus là on vous fournit les sources
Marsh Posté le 21-12-2006 à 20:32:01
oué, mais noel c'est la méchante fête organisée par le grand capital pour vous faire dépenser vos sous non?
Marsh Posté le 21-12-2006 à 20:34:43
non spour acheter des wii et des soekris noël
Marsh Posté le 21-12-2006 à 20:43:32
tennis de table.
Marsh Posté le 21-12-2006 à 21:24:55
ReplyMarsh Posté le 21-12-2006 à 21:44:37
eh bien merci à ceux qui m'ont vraiment aidé ... ils se reconnaitront
les autres ne me font pas regretter d'avoir zappé les cours d'infos ... bien au contraire, et je ne suis pas prêt de m'y mettre !!
Avec une pensée particulière pour tous ceux qui ont "gentiment" écrit sur la fin avec une ironie frisant la cours d'école (mais sans doute les fréquentent ils encore), sans avoir daigné donner une solution quand il le fallait .... ça situe l'état d'esprit.
Marsh Posté le 21-12-2006 à 21:50:07
mouchoirs10 a écrit : les autres ne me font pas regretter d'avoir zappé les cours d'infos ... bien au contraire, et je ne suis pas prêt de m'y mettre !! |
Très honnetement: t'es assez mal barré alors. Mais c'est une opinion qui n'engage que moi.
Marsh Posté le 21-12-2006 à 21:59:06
mouchoirs10 > t'as de la chance, je suis bien luné, je vais me contenter de fermer et ne pas déplacer sur prog
Marsh Posté le 21-12-2006 à 14:03:20
Bonjour,
j'ai installé une Linux mandriva 2007
J'essaie de compiler en C (après avoir installé tous les paquetages possibles), et ça plante.
J'ai les messages suivant :
warning : icompatible implicit declaration of built-in function 'sprintf'
warning : icompatible implicit declaration of built-in function 'printf'
...
J'arrive à compiler un programme qui ne fait rien du tout, mais aucun qui contienne la moindre instruction.
Que dois je faire ?
Merci