Project : Console application
Compiler : GNU GCC Compiler (called directly)
Directory : D:\Documents and Settings\Propriétaire\Mes documents\programme test C-C++\décal binnaire\
--------------------------------------------------------------------------------
Switching to target: default
Compiling: main.c
main.c:1:20: iostream: No such file or directory
main.c:2: error: syntax error before "namespace"
main.c:2: warning: data definition has no type or storage class
main.c: In function `main':
main.c:10: error: `cout' undeclared (first use in this function)
main.c:10: error: (Each undeclared identifier is reported only once
main.c:10: error: for each function it appears in.)
main.c:10: error: `endl' undeclared (first use in this function)
Process terminated with status 1 (0 minutes, 0 seconds)
6 errors, 1 warnings
Je viens de le réinstaller en pensant que le problème venais de là.
Visiblement me problème viens d'autre part.... mais d'où? telle est la question!
Les arguments "int argc" et "char* argv[]" (qui peut prendre d'autres formes) sont facultatifs pour main. Cependant, une contrainte : elle doit retourner un entier. Et si vous ne respectez pas ça, votre compilo vous le fera respecter.
En effet, lmghs a raison, il suffit de renommer le fichier en .cpp.
Ok alors j'ai rien dis
Mais je tiens a préciser que Dev C++ m'a déjà refusé de me compiler un prog SDL parceque il n'y avais pas les arguments de main...
Mais bon là il sagit de C::B.
Ok alors j'ai rien dis
Mais je tiens a préciser que Dev C++ m'a déjà refusé de me compiler un prog SDL parceque il n'y avais pas les arguments de main...
Mais bon là il sagit de C::B.
A mon avis il ne faut pas dire "c'est la faute à C::B", "C'est la faut à Dev". C'est le compilo qui gère la compilation, pas l'IDE. L'IDE, lui, se contente d'afficher ce que le compilo lui dit.
Mais pour la fonction main, j'ai eut le même problème que toi avec la SDL sous C::B (la preuve, c'est pas C::B mais le compilo). En fait, la fonction main est "reprise" par la fonction sdl_main. ces deux fonctions sont différente que de nom dans leur signature. Si tu ne mets pas la fonction main sous sa bonne forme, ça ne compilera pas.
La bonne forme étant :
int main (int argc, char** argv ); //ou int main (int argc, char* argv[]);
Citation : sdl_main.h
/* The prototype for the application's main() function */
extern C_LINKAGE int SDL_main(int argc, char *argv[]);
et puis pourquoi dire "C::B bug" si on sait pas interpréter les messages d'erreurs de GCC ?
ton problème (ce que lmghs veux te faire comprendre) est que tu compiles un fichier .c contenant du code Cpp donc normal que cà marche pas.
Ok merci pour les précisions Hiura, j'aurais du dire GCC à la place de Dev mais bon on s'est compris
Maintenant j'ai compris d'où venait le pb avec SDL mais je vais arrêter d'en parler c'est un peu HS et le topic est résolus...
pourquoi code::blocks bug?
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.