Programme en C++ n'est pas exécuté dans Code::Blocks
Tout en faisant de la programmation en Code::Blocks, il compile bien pour C, mais pas pour le C++. Même pour un programme "Hello World":
#include <iostream>
using namespace std;
int main()
{
cout << "Hello world!" << endl;
return 0;
}
il donne à ces erreurs:
-------------- Build: Debug in project ---------------
Compiling: main.cpp
Linking console executable: bin\Debug\project.exe
C:\Program Files (x86)\CodeBlocks\MinGW\lib/libstdc++.a(eh_throw.o):eh_throw.cc:(.text+0x7b): undefined reference to `__w32_sharedptr_unexpected'
C:\Program Files (x86)\CodeBlocks\MinGW\lib/libstdc++.a(eh_throw.o):eh_throw.cc:(.text+0x8c): undefined reference to `__w32_sharedptr_terminate'
C:\Program Files (x86)\CodeBlocks\MinGW\lib/libstdc++.a(eh_globals.o):eh_globals.cc:(.text+0x4e): undefined reference to `__w32_sharedptr'
C:\Program Files (x86)\CodeBlocks\MinGW\lib/libstdc++.a(eh_globals.o):eh_globals.cc:(.text+0xb9): undefined reference to `__w32_sharedptr'
C:\Program Files (x86)\CodeBlocks\MinGW\lib/libstdc++.a(eh_globals.o):eh_globals.cc:(.text+0x179): undefined reference to `__w32_sharedptr'
C:\Program Files (x86)\CodeBlocks\MinGW\lib/libstdc++.a(eh_globals.o):eh_globals.cc:(.text+0x186): undefined reference to `__w32_sharedptr'
C:\Program Files (x86)\CodeBlocks\MinGW\lib/libstdc++.a(eh_globals.o):eh_globals.cc:(.text+0x1e3): undefined reference to `__w32_sharedptr'
C:\Program Files (x86)\CodeBlocks\MinGW\lib/libstdc++.a(eh_globals.o):eh_globals.cc:(.text+0x1ef): more undefined references to `__w32_sharedptr' follow
C:\Program Files (x86)\CodeBlocks\MinGW\lib/libstdc++.a(eh_terminate.o):eh_terminate.cc:(.text+0x67): undefined reference to `__w32_sharedptr_terminate'
C:\Program Files (x86)\CodeBlocks\MinGW\lib/libstdc++.a(eh_terminate.o):eh_terminate.cc:(.text+0x97): undefined reference to `__w32_sharedptr_unexpected'
C:\Program Files (x86)\CodeBlocks\MinGW\lib/libstdc++.a(eh_terminate.o):eh_terminate.cc:(.text+0xb3): undefined reference to `__w32_sharedptr_terminate'
C:\Program Files (x86)\CodeBlocks\MinGW\lib/libstdc++.a(eh_terminate.o):eh_terminate.cc:(.text+0xd3): undefined reference to `__w32_sharedptr_unexpected'
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 1 seconds)
12 errors, 0 warnings
- Merci de poster le code que vous utilisez.
- Veuillez poster le code source.
- #include <iostream> using namespace std; int main() { cout << "Hello world!" << endl; return 0; }
- merci d'éditer votre question et ajouter le code dans la question, ne pas l'ajouter comme commentaire.
- Modifier votre question. Une fois que vous avez mis le code, utilisez ctrl-K pour la faire ressembler à code.
- merci @ Moo-Joice je suis assez nouveau sur le forum...
- Je parie que vous n'êtes pas réticulation à l'aide de
g++
... - que dois-je faire alors...??? Plz répondre
Vous devez vous connecter pour publier un commentaire.
Les erreurs que vous obtenez indiquent que l'éditeur de liens est d'avoir de la difficulté à trouver
__w32_sharedptr
qui est probablement une dépendance libstdc++ a besoin de travailler.Normalement la bibliothèque standard et toutes les dépendances il doit sont liées automatiquement lorsque vous générez votre projet. Cependant, comme trojanfoe commentaire indique que cela n'est vrai que si vous êtes à la compilation avec g++. Si vous êtes la construction de code C++ avec gcc, la norme C++ de la bibliothèque ne sera pas inclus automatiquement depuis la gcc pilote pense que c'est de la compilation du code C.
Pour vérifier ce qui se passe réellement dans votre installation de codeblocks aller à Paramètres->Compilateur et Débogueur->Global compiler settings(sur la gauche)->sous Toolchain executables onglet. Vous devriez voir quelque chose de similaire à ceci:
Si votre installation ressemble à droite mais refuse toujours de construire correctement, activer compilateur complet exploitation forestière et de voir ce que les commandes sont en fait être invoqué par les IDE. Vous pouvez trouver cette sous Global compiler settings->Autres paramètres tab-> Compilateur Log = ligne de commande Complet. Remarque: vous pourriez avoir à faire défiler un peu vers la droite pour trouver l'onglet.
Avec plein de journalisation est activée, la reconstruction de votre projet et de mettre à jour votre question avec les commandes utilisées.
C'est environ ce que vous devriez voir dans la fenêtre de log lorsque vous reconstruite avec les options ci-dessus est activée: