compilation en C

compilation en C - Codes et scripts - Linux et OS Alternatifs

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

Reply

Marsh Posté le 21-12-2006 à 14:03:20   

Reply

Marsh Posté le 21-12-2006 à 14:09:06    

fais voir ta source


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 21-12-2006 à 17:46:33    

pitetre un petit "#include" manquant la !!!  [:al_bundy]  Enfin comme dit plus haut, la source!!!


---------------
Un blog qu'il est bien
Reply

Marsh Posté le 21-12-2006 à 17:48:48    

en tout cas, c'est pas ton compilateur qui pose problème....

Reply

Marsh 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;
}

Reply

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 :-)

Reply

Marsh Posté le 21-12-2006 à 17:54:50    

#include <stdlib.h>
#include <math.h>


---------------
:: Light is Right ::
Reply

Marsh Posté le 21-12-2006 à 18:12:02    

Tomate a écrit :

#include <stdlib.h>
#include <math.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);
}

Reply

Marsh Posté le 21-12-2006 à 18:15:49    

philx a écrit :

c'est tout le code ???
il manque les include ... la par exemple ta fonction cos elle sort pas d'un chapeau magique :-)


 
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

Reply

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 ...


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 21-12-2006 à 18:33:00   

Reply

Marsh Posté le 21-12-2006 à 18:52:19    

Dark_Schneider a écrit :

stdio.h qui manque ?
 
va falloir que tu révises ton bouquin de C sous Unix ...


 
 
 
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 ...

Reply

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

Reply

Marsh Posté le 21-12-2006 à 19:14:51    

mouchoirs10 a écrit :

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 ...


 
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...


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
Reply

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 :D

Reply

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> ?

Reply

Marsh Posté le 21-12-2006 à 19:44:08    

Gf4x3443 a écrit :

#include <string.h> ?


 
 
merci bien, c'était celle la ...
ça compile

Reply

Marsh Posté le 21-12-2006 à 19:46:30    

M300A a écrit :

Les warning c'est pas bloquants hein...
 
Jpense plutot que c'est ton programme qui fait rien tout simplement :D


 
 
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

Reply

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

Reply

Marsh Posté le 21-12-2006 à 19:54:15    

notornis a écrit :

...
 
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


 
 
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 ...

Reply

Marsh Posté le 21-12-2006 à 20:04:06    

mouchoirs10 a écrit :

merci bien, c'était celle la ...
ça compile

 

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 :o


Message édité par Gf4x3443 le 21-12-2006 à 20:04:33
Reply

Marsh Posté le 21-12-2006 à 20:10:35    

+1

Reply

Marsh Posté le 21-12-2006 à 20:14:54    

mouchoirs10 a écrit :

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


 
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


Message édité par M300A le 21-12-2006 à 20:15:08
Reply

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 ?[:opus dei][:ginie]
[:rofl]

Message cité 1 fois
Message édité par l0ky le 21-12-2006 à 20:21:57
Reply

Marsh Posté le 21-12-2006 à 20:25:47    

l0ky a écrit :

Les progueux de prog ? polis ?[:opus dei][:ginie]
[:rofl]


mauvaise langue. On est très polis avec les non-boulays.:o


---------------
Can't buy what I want because it's free -
Reply

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.


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 21-12-2006 à 20:29:34    

On peut vous faire un emballage cadeau si c'est pour offrir [:opus dei]

Reply

Marsh Posté le 21-12-2006 à 20:30:35    

ah oué mais non, noël c'est pas GNU compliant, non?[:petrus75]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 21-12-2006 à 20:31:18    

si on partage toussa :o

 

edit : en plus là on vous fournit les sources :o


Message édité par black_lord le 21-12-2006 à 20:31:40

---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

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?[:petrus dei]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 21-12-2006 à 20:34:43    

non spour acheter des wii et des soekris noël :o


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 21-12-2006 à 20:42:42    

Topic ping-pong ?

Reply

Marsh Posté le 21-12-2006 à 20:43:32    

tennis de table.[:aloy]


Message édité par skeye le 21-12-2006 à 20:43:37

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 21-12-2006 à 21:24:55    

RiderCrazy a écrit :

Topic ping-pong ?


Non, pong tout court. :)  
1-0

Reply

Marsh 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.
 

Reply

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.

Reply

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 :o


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed