Erreur de Compilation C++
Bonjour,
Bonjour,
Voulant m'essayer à la programmation, j'ai pris le livre C++ Pour les Nuls et j'ai téléchargé Dev-C++. J'ai entré le script ecrit dans le livre comme indiqué, je compile et voilà ce qu'il me dit :
Compilateur: Default compiler
Exécution de g++.exe...
g++.exe "D:\Users\Thomas Kowalski\Documents\C++\Températures\Coversion de Températures Livre.cpp" -o "D:\Users\Thomas Kowalski\Documents\C++\Températures\Coversion de Températures Livre.exe" -fexceptions -fverbose-asm -g3 -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Dev-Cpp\include\c++\3.4.2" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib" -lobjc -g3
In file included from C:/Dev-Cpp/include/c++/3.4.2/backward/iostream.h:31,
from D:\Users\Thomas Kowalski\Documents\C++\Températures\Coversion de Températures Livre.cpp:8:
C:/Dev-Cpp/include/c++/3.4.2/backward/backward_warning.h:32:2: warning: #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 <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
C:\Dev-Cpp\Bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot find -lobjc
collect2: ld returned 1 exit status
Exécution terminée
Et ca ne marche pas, bien sur. Aidez moi ! S'il vous plaît !
Bonjour,
Voulant m'essayer à la programmation, j'ai pris le livre C++ Pour les Nuls et j'ai téléchargé Dev-C++. J'ai entré le script ecrit dans le livre comme indiqué, je compile et voilà ce qu'il me dit :
Compilateur: Default compiler
Exécution de g++.exe...
g++.exe "D:\Users\Thomas Kowalski\Documents\C++\Températures\Coversion de Températures Livre.cpp" -o "D:\Users\Thomas Kowalski\Documents\C++\Températures\Coversion de Températures Livre.exe" -fexceptions -fverbose-asm -g3 -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Dev-Cpp\include\c++\3.4.2" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib" -lobjc -g3
In file included from C:/Dev-Cpp/include/c++/3.4.2/backward/iostream.h:31,
from D:\Users\Thomas Kowalski\Documents\C++\Températures\Coversion de Températures Livre.cpp:8:
C:/Dev-Cpp/include/c++/3.4.2/backward/backward_warning.h:32:2: warning: #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 <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
C:\Dev-Cpp\Bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot find -lobjc
collect2: ld returned 1 exit status
Exécution terminée
Et ca ne marche pas, bien sur. Aidez moi ! S'il vous plaît !
A voir également:
- Erreur de Compilation C++
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Comment recuperer whatsapp supprimé par erreur - Guide
3 réponses
Salut,
c'est l'option -lobjc qui n'est pas trouvée, c'est relatif a de l'objective C, t'es sur que t'en a besoin ?
compile en enlevant l'option pour voir
c'est l'option -lobjc qui n'est pas trouvée, c'est relatif a de l'objective C, t'es sur que t'en a besoin ?
compile en enlevant l'option pour voir
Ton compilateur dit que tu utilises un header qui marche mais qui est obsolète. C'est celui que tu inclues dans Livre.cpp à la ligne 8).
Comme le signale Char Sniper les headers standards C++ n'ont plus d'extenstion (<iostream> et non <iostream.h>). Ceci dit, les headers C++ ont généralement une extension, par fois ".h" (comme dans la librairie Qt) et parfois ".hpp" (comme dans la librairie boost). En toute rigueur on devrait utiliser ".hpp" pour différencier les headers C et C++.
On peut vérifier que ce warning à la compilation est levé par C:/Dev-Cpp/include/c++/3.4.2/backward/iostream.h à la ligne 31 qui invoque le warning écrit dans C:/Dev-Cpp/include/c++/3.4.2/backward/backward_warning.h qui écrit le warning (ligne 32). Et il a le bon goût de te dire d'écrire <iostream> au lieu de <iostream.h>
La nuance, c'est que toutes les classes standards sont désormais dans le namespace std. Ainsi on écrira typiquement :
On peut également sous-entendre le std:: en utilisant la directive "using namepsace std;" mais attention ceci ne doit jamais être fait dans un header (.hpp). Là, on est dans un fichier source (.cpp) donc tout va bien :
Bonne chance
Comme le signale Char Sniper les headers standards C++ n'ont plus d'extenstion (<iostream> et non <iostream.h>). Ceci dit, les headers C++ ont généralement une extension, par fois ".h" (comme dans la librairie Qt) et parfois ".hpp" (comme dans la librairie boost). En toute rigueur on devrait utiliser ".hpp" pour différencier les headers C et C++.
On peut vérifier que ce warning à la compilation est levé par C:/Dev-Cpp/include/c++/3.4.2/backward/iostream.h à la ligne 31 qui invoque le warning écrit dans C:/Dev-Cpp/include/c++/3.4.2/backward/backward_warning.h qui écrit le warning (ligne 32). Et il a le bon goût de te dire d'écrire <iostream> au lieu de <iostream.h>
La nuance, c'est que toutes les classes standards sont désormais dans le namespace std. Ainsi on écrira typiquement :
#include <iostream> int main(){ std::cout << "coucou !" << std::endl; return 0; }
On peut également sous-entendre le std:: en utilisant la directive "using namepsace std;" mais attention ceci ne doit jamais être fait dans un header (.hpp). Là, on est dans un fichier source (.cpp) donc tout va bien :
#include <iostream> using namespace std; int main(){ cout << "coucou !" << endl; return 0; }
Bonne chance
Je rajouterai que si ton livre te dit d'écrire <iostream.h>, changes en. Soit il est trop vieux (donc tu peux à la rigueur le conserver un peu), soit il n'est pas très sérieux.