Eclipse CDT utilisant MinGW ne sort pas en console

j'ai un PC Windows 7 64-bit et j'essaye d'installer un IDE C++ libre, donc j'ai choisi D'installer Eclipse Helios avec CDT.

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

Les versions sont les suivantes:

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

donc il devrait être compatible avec mon processeur 64 bits.

Cependant lorsque j'essaie d'exécuter un programme très simple avec eclipse, je ne vois rien sur la console. Le code source est le suivant:

#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 version est fine et lorsque je lance le .exe avec la commande (Windows console) le comportement est comme prévu. Mais avec la console Eclipse Je ne vois rien avec run et avec debug la sortie est juste: "Enter an integer:", puis quand je tape dans un nombre et frappe enter il ne fait rien.

Est-ce que quelqu'un sait comment pour corriger cela 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.

37
demandé sur Guillaume 2010-08-09 22:59:04

9 réponses

ce bug de la console a été remarqué dans les versions 64 bits d'eclipse:

http://www.eclipse.org/forums/index.php?t=msg&th=197552&start=0&S=2a2b64e1f1404705c0214976bd477428

une solution est d'installer l'éclipse de 32 bits

5
répondu guest 2010-11-10 01:01:33

cela a fonctionné pour moi sur l'installation 64-bit D'Eclipse sur Windows 7 en utilisant MinGW:

cliquez avec le bouton droit de la souris sur votre projet. Sélectionnez "Propriétés".

sélectionnez la propriété "Run / Debug Settings" à gauche de la nouvelle fenêtre.

dans la fenêtre de droite, cliquez sur votre exécutable pour mettre en surbrillance (ie - Test.exe) et cliquez sur "Modifier".

Dans l'onglet Environnement, cliquez sur "Nouveau"

Nom: PATH

Valeur: chemin vers votre MinGW bin directory. (Pour moi, c'était: C:\devcore\MinGW\bin)

Cliquez sur "OK" sur toutes les fenêtres pour fermer.

essayez d'exécuter de nouveau, il devrait Imprimer la sortie à l'écran.

136
répondu ossys 2013-03-20 20:14:12

vous devez configurer linker Je suis 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++)
8
répondu Dhiral Pandya 2013-06-27 03:21:15

la solution de purlogic fonctionne. Au lieu de définir pour chaque projet, je l'ai trouvé peut être définie globalement:

Dans La Fenêtre -> Préférences-> C/C++ -> Build -> Environnement Ajouter une variable pour votre compilateur. e.g, j'ai ajouté: MINGW, with value "C:\MinGW\bin"

7
répondu Yifu 2012-06-04 20:17:16

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

dans mon cas, le rinçage n'a pas été fait explicitement dans l'application. Alors que les programmes C++ utilisent souvent std::cout << ... << std::endlendl une chasse d'eau, mon programme utilise des C-sortie tels que l'habituelle printf. printf peut être vu directement lors du démarrage du programme dans la fenêtre cmd. Cependant, dans la console eclipse, ils manquaient. Par conséquent, une

fflush(stdout);

après le printf la chose n'a pour moi. Cela pourrait être un problème dans l'implémentation de la console eclipse. Je suppose que c'est pour ça que réparer le chemin n'a pas fonctionné pour certaines personnes ici.

une solution alternative au lieu de définir le chemin dans les paramètres "Run" est de lancer l'éclipse entière en utilisant un fichier batch, qui ressemble essentiellement à ceci:

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

alors n'importe quelle configuration d'exécution utiliserait la bonne position de MingW par défaut. Que pourrait également résoudre d'autres problèmes qui pourraient surgir de l'utilisation du mauvais gcc.

2
répondu michael_s 2017-05-23 10:30:04

Avez-vous essayé d'exécuter l'éclipse.un ex avec des privilèges d'administrateur ?? il a travaillé pour moi !

1
répondu Roberto 2012-02-06 14:33:13

Eu ce problème sur 64-/32-peu eclipse Kepler CDT de travailler sur un openCV/wxWidgets outil, Win7, en utilisant MinGW à construire.

si quelqu'un tombe sur ce problème alors qu'il travaille avec openCV, vous savez déjà qu'il y a de nombreuses instructions obsolètes de construction/installation d'openCV sur Internet.

un que j'ai eu était D'aller à la construction des paramètres - > Linker - > divers et à l'intérieur de la zone de saisie de texte de drapeaux de Linker, tapez -Wl,--subsystem,windows -mwindows Cependant, cela désactive cout de la sortie vers un terminal de ligne de commande dans windows.

en creusant un peu plus, cela semble intentionnel, apparemment le-mwindows implique de diriger STDOUT loin d'une ligne de commande spécifiquement à une application de type GUI.

aussi, supprimer -mwindows et juste en laissant dans l' -Wl,--subsystem,windows accomplit la tâche de rediriger STDOUT de toute façon loin de la ligne de commande tout de même.

attention, je n'ai encore rien construit en dehors d'un hello world programme impliquant wxWidgets et openCV, donc je ne suis pas sur le point de faire un routage dans une partie d'une interface graphique donc je ne sais pas si cette fonctionnalité serait maintenant brisée ou si elle s'imprimerait à l'objet GUI, ainsi qu'un terminal de ligne de commande.

1
répondu JoeManiaci 2017-01-19 19:53:27

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

0
répondu rmk 2012-11-19 15:30:16

ajouter la variable PATH (PATH= "votre chemin de répertoire MinGW / bin") dans votre projet C++ par Run - > Run Configurations - > dans L'onglet Environnement

enter image description here

0
répondu zaursh 2018-09-23 16:15:16