program Eclipse CDT utilisant MinGW ne sort pas dans la console




g++ not found eclipse (8)

Avez-vous essayé d'exécuter le fichier eclipse.exe avec des privilèges d'administrateur? cela a fonctionné pour moi!

J'ai un ordinateur Windows 7 64 bits et j'essaie d'installer un IDE C ++ gratuit. J'ai donc choisi d'installer Eclipse Helios avec CDT.

Pour g ++, make et gdb, j'ai installé msys et mingw conformément à ce tutoriel: http://wiki.wxwidgets.org/HowTo:_Install_MSYS_and_MinGW_for_use_with_Eclipse_CDT

Les versions sont:

  • make: GNU make 3.81
  • g ++: 4.5.0
  • gdb: 7.1

Donc, il devrait être compatible avec mon processeur 64 bits.

Cependant, lorsque j'essaie de lancer un programme très simple avec eclipse, je ne vois rien sur la console. Le code source est:

#include <iostream>

 using namespace std;

 int main()
 {
    int i;

    cout << "Enter an integer: " << endl;
    cin >> i;
    cout << endl << "i is " << i << endl;

    return 0;
 }

La construction est correcte et lorsque je lance le fichier .exe avec la commande (console Windows), le comportement est celui attendu. Mais avec la console Eclipse, je ne vois rien avec run et avec debug, la sortie est simplement: "Entrez un entier:", puis, lorsque je tape un nombre et que je tape, il ne fait rien.

Est-ce que quelqu'un sait comment résoudre ce problème s'il vous plaît?

Merci,

Guillaume

PS: J'utilise la chaîne d'outils "Linux GCC", avec "MinGW GCC", je n'ai rien du tout dans la console.



La solution de purlogic fonctionne. Au lieu de définir cela pour chaque projet, j'ai trouvé qu'il pouvait être défini globalement:

Dans Window -> Preferences-> C / C ++ -> Build -> Environment Ajoutez une variable pour votre compilateur. Par exemple, j'ai ajouté: MINGW, avec la valeur "C: \ MinGW \ bin"


Ou définissez l'option de l'éditeur de liens -static . Ça marche pour moi au moins.


Avait ce problème sur Kepler CDT eclipse 64/32 bits pour travailler sur un outil openCV / wxWidgets, Win7, en utilisant MinGW pour construire.

Si quelqu'un rencontre ce problème alors qu'il a ce problème et travaille avec openCV, vous saurez déjà qu'il existe de nombreuses instructions obsolètes pour la construction / l'installation d'openCV sur Internet.

Une de celles-ci était d'aller dans Paramètres de construction -> -Wl,--subsystem,windows -mwindows de -Wl,--subsystem,windows -mwindows -> Divers et à l'intérieur de la zone de saisie du -Wl,--subsystem,windows -mwindows de l' -Wl,--subsystem,windows -mwindows de -Wl,--subsystem,windows -mwindows tapez -Wl,--subsystem,windows -mwindows les fenêtres.

Faire plus creuser cela semble intentionnel, apparemment, -mwindows implique de diriger STDOUT en dehors d'une ligne de commande, spécifiquement vers une application de type interface graphique.

En outre, en supprimant -mwindows et en ne laissant que dans -Wl,--subsystem,windows accomplit tout de même la tâche de rediriger STDOUT loin de la ligne de commande.

Maintenant, remarquez que je n'ai encore rien construit en dehors d'un programme hello world impliquant wxWidgets et openCV, je ne suis donc pas sur le point de créer un contexte dans une partie d'une interface graphique, alors je ne sais pas si cette fonctionnalité maintenant être cassé ou si il serait imprimer sur l'objet graphique, ainsi qu'un terminal en ligne de commande.


J'ai rencontré le même problème, à cause de plusieurs installations de gcc sur un PC. Mais la solution de Greg n'a fonctionné que partiellement pour moi.

Dans mon cas, le vidage n'a pas été fait explicitement dans l'application. Alors que les programmes C ++ utilisent souvent std::cout << ... << std::endl où le endl fait un flush, mon programme utilisait la sortie C réelle telle que le printf habituel. Le printf peut être vu directement lors du démarrage du programme dans la fenêtre de commande. Cependant, dans la console Eclipse, ils étaient absents. D'où un

fflush(stdout);

après le printf fait la chose pour moi. Cela pourrait être un problème dans l'implémentation de la console eclipse. J'imagine que c'est pourquoi fixer le sentier n'a pas fonctionné pour certaines personnes ici.

Une solution alternative au lieu de définir PATH dans les paramètres "Exécuter" consiste à lancer l'éclipse complète à l'aide d'un fichier de commandes, qui ressemble essentiellement à ceci:

set PATH=<mymingwlocation>\bin;%PATH%
start <myeclipselocation>\eclipse.exe

Ensuite, toute configuration d’exécution utiliserait le bon emplacement MingW par défaut. Cela pourrait également résoudre d’autres problèmes pouvant résulter de l’utilisation du mauvais gcc.


Ajoutez la variable PATH (PATH = "votre chemin de répertoire MinGW / bin") dans votre projet C ++ en cliquant sur Exécuter -> Exécuter les configurations -> dans l'onglet Environnement.


Vous devez configurer l'éditeur de liens que j'utilise avec MinGW.

Suivez les étapes ci-dessous.

Goto Project > Properties > C/C++ Build > Settings > Tool Settings (Tab) > MinGW C++ Linker (Option) > Add Command (g++ -static-libgcc -static-libstdc++)   (default command is only g++)




eclipse-cdt