Code::Block c++ (1d returned 1 exit status)
zematex
Messages postés
111
Date d'inscription
Statut
Membre
Dernière intervention
-
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
bonjour,
merci de lire mon problème alors voilà :
je fais du c++ sur Codde::Block mais quand je fais mon code (un code au hazard) :
eh bien le compilateur ne fait rien et me marque : " undefined reference to ``WinMain@16``
1d returned 1 exit status "
Donc je comprend pas, j'ai vu que d'autres personnes ont ce problème mais j'ai toujours pas réussi à régler le problème,,,,,,, MERCI!!!!
merci de lire mon problème alors voilà :
je fais du c++ sur Codde::Block mais quand je fais mon code (un code au hazard) :
#include <iostream> using namespace std; int laFonction () { int valeuur(2); if (valeuur == 2) { cout << "ca marche !" <<endl; } else { cout << "lol" <<endl; } return 0; }
eh bien le compilateur ne fait rien et me marque : " undefined reference to ``WinMain@16``
1d returned 1 exit status "
Donc je comprend pas, j'ai vu que d'autres personnes ont ce problème mais j'ai toujours pas réussi à régler le problème,,,,,,, MERCI!!!!
A voir également:
- 1d returned 1 exit status
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
2 réponses
Bonjour,
Deux choses :
- ton programme nécessite une fonction qui soit le point d'entrée
- selon le type de programme que tu réalises, Console ou Win32, le nom du point d'entrée sera différent
Pour résoudre ton "problème" :
- lorsque tu crées ton projet sélectionne le type "Console application"
- lorsque tu écris ton programme, il doit comporter une fonction "main" qui est le point d'entrée standard pour les applications Console
Note que WinMain est le point d'entrée sous Windows des applications graphiques.
Dal
Deux choses :
- ton programme nécessite une fonction qui soit le point d'entrée
- selon le type de programme que tu réalises, Console ou Win32, le nom du point d'entrée sera différent
Pour résoudre ton "problème" :
- lorsque tu crées ton projet sélectionne le type "Console application"
- lorsque tu écris ton programme, il doit comporter une fonction "main" qui est le point d'entrée standard pour les applications Console
Note que WinMain est le point d'entrée sous Windows des applications graphiques.
Dal
zematex
Messages postés
111
Date d'inscription
Statut
Membre
Dernière intervention
dak, merci
Il faut une fonction main en c++
int main(int argc, char **argv){ //debut du programme return 0; }
les prototypes valides de main selon le standard du C sont :
ou
Tu utilises le premier si ton programme n'utilise pas de paramètres en ligne de commande. En C++, la forme
Tu utilises le deuxième lorsque ton programme attend des paramètres passés en ligne de commande et que tu veux exploiter ces paramètres dans ton programme.
Exemple :
on compile
on lance le programme sans paramètres et on obtient (exemple sous Linux) :
on lance le programme en ligne de commande avec quelques paramètres et on obtient :
Dal
int main(void);
ou
int main(int argc, char* argv[]);
Tu utilises le premier si ton programme n'utilise pas de paramètres en ligne de commande. En C++, la forme
int main()est aussi admise et signifie la même chose.
Tu utilises le deuxième lorsque ton programme attend des paramètres passés en ligne de commande et que tu veux exploiter ces paramètres dans ton programme.
Exemple :
#include <stdio.h> int main(int argc, char* argv[]) { int n; printf("argc = %d\n", argc); printf("argv[0] = %s\n", argv[0]); if (argc > 1) { printf("Vous avez lancé le programme avec les " "arguments suivants :\n"); for (n = 1; n < argc; n++) printf("argument %d : %s\n", n, argv[n]); } else { printf("Vous n'avez passé aucun paramètre\n"); } return 0; }
on compile
$ gcc -Wall 35209554.c -o exemple
on lance le programme sans paramètres et on obtient (exemple sous Linux) :
$ ./exemple
argc = 1
argv[0] = ./exemple
Vous n'avez passé aucun paramètre
$
on lance le programme en ligne de commande avec quelques paramètres et on obtient :
$ ./exemple titi toto tutu
argc = 4
argv[0] = ./exemple
Vous avez lancé le programme avec les arguments suivants :
argument 1 : titi
argument 2 : toto
argument 3 : tutu
$
char* argv[]est équivalent à
char **argvcar un tableau de chaînes C est en fait un tableau de pointeurs vers des pointeurs sur char.
Dal