Arnold59
Messages postés27Date d'inscriptionlundi 8 mars 2004StatutMembreDernière intervention15 avril 2019
-
7 août 2008 à 21:46
Arnold59
Messages postés27Date d'inscriptionlundi 8 mars 2004StatutMembreDernière intervention15 avril 2019
-
8 août 2008 à 16:52
Bonjour,
Je développe parfois en Java (Java version JDK 1.6 update 7), je souhaites apprendre le C++, et j'ai acheté le livre "Le langage c++" de l'éditeur MicroApplication :
gcc -c Wall main.cpp
gcc: Wall : Aucun fichier ou dossier de ce type
Dans le fichier inclus à partir de /usr/include/c++/4.2/backward/iostream.h:31,
à partir de main.cpp:1:
/usr/include/c++/4.2/backward/backward_warning.h:32:2: attention : #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or instead of the deprecated header . To disable this warning use -Wno-deprecated.
main.cpp:2:22: erreur: conio.h : Aucun fichier ou dossier de ce type
gcc -c -Wno-deprecated main.cpp main.cpp:2:22: erreur: conio.h : Aucun fichier ou dossier de ce type
cs_Grogan
Messages postés28Date d'inscriptionjeudi 19 janvier 2006StatutMembreDernière intervention21 août 2008 7 août 2008 à 22:02
Tu as essayé de compiler cpfp.cpp au lieu de main.cpp...... il faut que tu mette le bon nom de fichier et pour l'instant ca ne semble pas etre remplit comme condition LOLL
Arnold59
Messages postés27Date d'inscriptionlundi 8 mars 2004StatutMembreDernière intervention15 avril 2019 7 août 2008 à 22:07
Merci,
Effectivement, le nom du programme n'est pas correct .
Malheureusement le problème est encore présent :
gcc -c cpfp.cpp Dans le fichier inclus à partir de /usr/include/c++/4.2/backward/iostream.h:31,
à partir de cpfp.cpp:3:
/usr/include/c++/4.2/backward/backward_warning.h:32:2: attention : #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or instead of the deprecated header . To disable this warning use -Wno-deprecated.
cpfp.cpp:5: erreur: «::main» must return «int»
cs_Grogan
Messages postés28Date d'inscriptionjeudi 19 janvier 2006StatutMembreDernière intervention21 août 2008 7 août 2008 à 22:11
1- Ton warning ne tempeche pas de compiler... je sais pas trop ce qu'il veut dire... on dirait qu'il tannonce que iostream.h est obselete.......
2-Pour l'erreur, prend ce code
// permet d'accéder au fichier d'en-tête iostream.h
#include
//Programme principal
int main (void)
{
cout <<" CISEAUX - PIERRE - FEUILLE - PUITS\n";
return 0;
}
Il semble que le compilateur GCC n'apprécie pas que ta fonction main ne retourne rien... de plus c'est une bonne pratique dans tout les cas de faire retourner quelque chose a ta fonction main ;)
cs_Grogan
Messages postés28Date d'inscriptionjeudi 19 janvier 2006StatutMembreDernière intervention21 août 2008 7 août 2008 à 22:13
Pour le warning.... tu compile en c ou en c++... pcq si c'est un c++ change ton #include par #include (standard c++ on utilise pas les .h pour les librairies std)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Arnold59
Messages postés27Date d'inscriptionlundi 8 mars 2004StatutMembreDernière intervention15 avril 2019 7 août 2008 à 22:21
J'ai copié ton source mais je rencontre le même message d'erreur suivant :
gcc -c cpfp.cpp Dans le fichier inclus à partir de /usr/include/c++/4.2/backward/iostream.h:31,
à partir de cpfp.cpp:1:
/usr/include/c++/4.2/backward/backward_warning.h:32:2: attention : #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or instead of the deprecated header . To disable this warning use -Wno-deprecated.
Comment compiler & make (sous gcc ou g++) pour C++ ??
neodelphi
Messages postés442Date d'inscriptionjeudi 4 avril 2002StatutMembreDernière intervention11 août 2008 8 août 2008 à 00:42
Effectivement pour du C++ il faut utiliser g++.
Il faut également utiliser et non plus .
Pour compiler il faut faire:
g++ -Wall cpfp.cpp -o monProgram
-Wall c'est pas obligatoire mais conseillé, c'est pour afficher tous les warnings lors de la compilation.
-o c'est pour indiquer le nom du programme cré, si tu ne le met pas par défaut ça donne a.out comme fichier exécutable.
Pour lancer ton programme dans une console:
./monProgramme
L'option -c que tu avais mis c'est pour un peu plus tard quand tu aura plusieurs fichiers cpp à compiler pour le même programme. Pour un seul fichier ce n'est pas utile.
Enfin, plutôt que terminer tes textes par \n, tu peux écrire de la façon suivante:
Le std::endl est équivalent à \n. Après c'est une question de goûts. Tu remarqueras que j'ai mis std::cout et non cout. Si tu veux mettre cout tout seul (et endl aussi) il faut ajouter la ligne que t'as indiqué SAKingdom:
neodelphi
Messages postés442Date d'inscriptionjeudi 4 avril 2002StatutMembreDernière intervention11 août 2008 8 août 2008 à 10:08
Je recommande tout de même de savoir compiler en ligne de commande, et ensuite d'utiliser des outils comme make ou autotools (pour les plus courageux...).
// cout <<" CISEAUX - PIERRE - FEUILLE - PUITS\n";
}
--> Compilation du source cpfp.cpp
g++ -Wall cpfp.cpp -o cpfp.cpp
Dans le fichier inclus à partir de /usr/include/c++/4.2/backward/iostream.h:31,
à partir de cpfp.cpp:3:
/usr/include/c++/4.2/backward/backward_warning.h:32:2: attention : #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or instead of the deprecated header . To disable this warning use -Wno-deprecated.
cpfp.cpp:5: erreur: «::main» must return «int»
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 8 août 2008 à 14:26
Salut,
/usr/include/c++/4.2/backward/backward_warning.h:32:2: attention : #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or instead of the deprecated header . To disable this warning use -Wno-deprecated.
cpfp.cpp:5: erreur: «::main» must return «int»
/usr/include/c++/4.2/backward/backward_warning.h:32:2: attention : #warning Ce fichier inclus au moins un header franchement vieux ou datant de l'antiquité (-3500av jc). S'il vous plait, soyez gentil et essayez d'utiliser un des 32 headers trouvables dans la section 17.4.1.2 du C++ standard (Mais bon, vous savez pas où il se trouve). Par exemple, substituer <X> header au <X.h> header (Donc virez le .h bordel !) pour les includes de C++, ou au lieu de l'header vieux usé et fatigué . Pour désactiver ce warning utiliser -Wno-deprecated (Mais bon, désactiver les warnings, c'est mal).
cpfp.cpp:5: erreur: «::main» doit retourner un int «int» Avec ces options, je demande à ce que le main renvoie un entier. C'est pas demander la lune non plus.
Pour une fois que le compilo s'exprime à peu près correctement, autant l'écouter : il te dit précisément ce qu'il veut.
Concernant la ligne de compile, là tu essaie de faire un exécutable avec le même nom que le fichier source : même nom et extension...
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 8 août 2008 à 16:24
Tu n'as pas suivit nos conseilles. Nous te disions de remplacer iostream.h par iostream
#include
using namespace std;
tout simplement ce que tu n'as pas encore fais.
Pour utiliser make, il faudrait encore qu'un makefile soit généré par un quelconque autre outil ou bien le créer soit même et il n'y a pas beaucoup d'interêt à en créer un soit même si c'est pour répéter les même fautes.