C++ geschriebenes Programm in Eclipse mit Windows und MinGW keine display-Ausgabe in der Konsole anzeigen
Ich bin mit Windows 7 64bit.
Installierte ich eclipse version 3.6.2, cdt und MinGW. Ich habe ein C++ Konsole Programm in Eclipse wie folgt:
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
setbuf(stdout, NULL);
for (int i = 0; i < 10000000; i++) {
cout << "!!!Hello World!!!" << endl; //prints !!!Hello World!!!
}
int val;
cin >> val;
return 0;
}
Wenn ich dieses Konsolen-Programm, es sollte Anzeige Hello world
zu Console View in Eclipse, aber nichts zeigt.
Wenn ich gehe in den debug-Ordner und führen Sie die exe-Datei, die es nicht an die Konsole ausgegeben.
Wenn ich einige syntax-Fehler, dann die Eclipse-Console-Ansicht zeigt etwas, wie:
**** Internal Builder is used for build ****
g++ -O0 -g3 -Wall -c -fmessage-length=0 -osrc\hh.o ..\src\hh.cpp
..\src\hh.cpp: In function 'int main()':
..\src\hh.cpp:17:3: error: expected ';' before 'return'
Build error occurred, build is stopped
Time consumed: 255 ms.
Warum ist nichts zu zeigen in der Eclipse-Konsole anzeigen und wie kann ich meine C++ Konsole Programm-display-Ausgang?
InformationsquelleAutor der Frage Gqqnbig | 2011-05-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand ich einen workaround von dieser Seite:
http://www.eclipse.org/forums/index.php?=42e862594001fa4469bbc834885d545f&t=msg&th=197552
Zu diesem link, schauen Sie auf die Antwort von "Kein richtiger Name".
Falls der link down geht, hier ist der Inhalt:
InformationsquelleAutor der Antwort Vikyboss
Das problem ist, dass Ihr Programm verwendet die dll-Bibliotheken von MinGW - versuchen, starten Sie die exe-Datei manuell, es meldet Fehler über fehlende dlls.
Lösung kann sein, dass Sie kopieren erforderlichen Dll-Dateien .exe-Datei in Ihrem Projekt-Verzeichnis (und Release-oder Debug-Unterverzeichnis, hängt davon ab, was .exe sind Sie die Ausführung mit der Run-Befehl).
Oder im Menü Ausführen -> Ausführen-Konfiguration wählen Sie die Konfiguration, die Sie verwenden .exe-Datei (oder erstellen Sie ein neues C/C++ - Anwendung-Konfiguration) und wählen Sie Registerkarte "Umgebung" im rechten Fenster. Fügen Sie dort neue variable mit dem Namen PFAD mit Wert c:\MinGW\bin (dies ist standardmäßig der Pfad zu mingw\bin-Verzeichnis, verwenden Sie einen Pfad gelten für die instalation, wenn es irgendwo anders)
Edit: Jetzt bin ich auf der Suche nach durch Vikyboss und es ist in der Tat das gleiche - Einstellung der PATH-Variablen in der Konfiguration Auszuführen. Einstellung der PATH-variable in Einstellungen - > C/C++ (Erweitern) > Umwelt, wie beschrieben, durch Sydraps hat bei mir nicht funktioniert.
Aber ich denke, dass die statische Verlinkung der Bibliotheken ist vielleicht die beste Lösung für Sie. Im Menü Projekt -> Eigenschaften wählen Sie C/C++ Build -> Einstellungen. Im rechten Fenster wählen Sie die Konfiguration, die Sie ändern möchten (Sie können Alle auswählen). In der Registerkarte Tool Einstellungen wählen Sie MinGW C++ Linker -> Sonstiges und in der rechten Verkleidung in der Linker flags Typ -statische. Jetzt den .exe-Datei aufgebläht, die durch die Größe der Bibliotheken (in meinem Fall ca. +900 kB für Hello world " - Beispiel für 2-dlls), aber es wird unabhängig an jedem Bibliotheken.
Ich hoffe, dass dies hilfreich sein für jeden, der versucht zu starten mit Eclipse C/C++ und Frage mich, warum es keine Hello world in der Konsole.
Ales Chlubny
InformationsquelleAutor der Antwort Ales Chlubny
Behob ich das problem auf meinem windows 7 x64 PC. In der Eclipse-Fenster, gehen Sie zu Einstellungen > C/C++ (Erweitern) > Umwelt > Hinzufügen:
Wenn dies nicht beheben. Versuchen Sie, die oben auf den system-Umgebungsvariablen auf Ihrem PC in Computer > Erweiterte Systemeinstellungen
InformationsquelleAutor der Antwort Sydraps
Finde ich den Grund, denn ich bin mit 64bit eclipse!
Schalte ich auf 32-bit-eclipse, der gleiche code funktioniert einwandfrei.
InformationsquelleAutor der Antwort Gqqnbig
Mein problem mit der Anzeige von hello world(64-bit Windows7) in der Konsole war gelöst, als ich lief eclipse als administrator.
Habe ich den
C:\MinGW\bin
zu der Umgebungsvariable path und dann begann, eclipse als administratorInformationsquelleAutor der Antwort Jipson
Erstellte ich ein " Hello World C++ - Projekt (MinGW-GCC) app aus dem Eclipse-Assistent, Ausschneiden und einfügen den code und es kompiliert in Ordnung. Dann vor der Ausführung reduzierte ich die Schleife auf 10 und es lief gut.
Ihnen nicht sagen, wie Sie das Projekt erstellt, aber es scheint wahrscheinlich, Ihr fehlen einige include-Direktive oder der Bibliotheks-Pfad. Auch sehe ich nicht die Notwendigkeit, oder setbuf(stdout, NULL). Ich finde es auch hilfreich bei der Fehlersuche, um NICHT eine ganze namespace in-scope. Eher so machen:
mit std::cout;
mit std::cin;
Schließlich, das leeren der Puffer jedes mal mit << endl; scheint wie overkill, indem ein einfaches \n am Ende der Zeichenfolge wäre effizienter.(Ich habe das ganze auf Win 7 64 bit - aber ich war mit einem 32-bit-version von Eclipse Galileo)
InformationsquelleAutor der Antwort Tod
Wenn Sie mit MinGW compiler,
http://orfe.princeton.edu/help/article-296
InformationsquelleAutor der Antwort user2840033
Für mich die Installation der 32-bit-Versionen von Eclipse (Indigo 3.7) und die 32 bit Java JDK/JRE haben nicht funktioniert. Ich benutze die sehr viel schnellere Lösung aus dem Eclipse-CDT/User/FAQ -:
Zitat von Eclipse-CDT/User/FAQ - Eclipse-Konsole nicht angezeigt, die Ausgabe auf Windows:
InformationsquelleAutor der Antwort trenki
Hatte ich ein Problem mit meinem eclipse-cdt, new C++ Projekt - > hello world (cygwin-gcc), mit der rechten Maustaste auf die exe-Datei, ausführen als und nichts war mit auf der Konsole. Es war das gleiche mit c-Projekt.
Sah ich, dass mein eclipse-version war bereits ein 32-bit ein.
Ich dachte, dieses heraus-und hier ist (die) meine Lösung:
Gibt es mehrere compilation-profile in eclipse cdt: release und debug. Das Standard-Profil in eclipse cdt debug. Also, Start-exe mit "ausführen als" funktioniert nicht, sollten Sie starten Sie es mit "debug as". In meinem Fall wurde ich mit einem wirklich letzten cygwin-installation mit gcc installiert, aber mit gdb noch nicht installiert. Ich hatte mit der Installation gdb-Paket in cygwin mit cygwin-setup. Ich reran die exe mit "debug as" und es hat funktioniert.
Ich denke, mit release-Profil anstelle des Standard-debug-Profil, Umbau funktioniert auch, und ich denke, dass es das gleiche mit dem mingw-Umgebung.
InformationsquelleAutor der Antwort yohann.martineau
Soeben das C:\MinGW\bin auf die environment-variable 'Path' in Windows 7 64-bit.
Jetzt Konsole gibt Nachrichten
InformationsquelleAutor der Antwort Αλέκος
Stieß ich auf ein ähnliches problem.
Umgebung:
Keine Ausgabe in der Konsole auf "Run", aber korrekt ausgegeben bei "Debug".
Folgende Methode funktioniert für mich:
Gehen Sie zu Projekt - > Eigenschaften - > Run/Debug-Einstellungen
Wählen Sie die .exe-Datei und drücken Sie "Bearbeiten"
In der "Umwelt" - tag, "Neu" drücken, legen Sie es als:
In der Tat, ich habe bereits set "C:\MinGW\bin" als die Windows-PATH-Umgebungsvariable, aber es schien nicht zu funktionieren.
InformationsquelleAutor der Antwort user1766916
Funktioniert bei mir gehen Administator auf Eclipse Kepler 64bit.
InformationsquelleAutor der Antwort nbout
Den Fall, dass jemand interessiert ist, ich habe gefunden wie es zu lösen ist für immer auf Windows XP (möglicherweise in anderen windows-version, obwohl), ohne dass Sie geben Sie die Variablen für jede ausführbare Datei und wie:
Start-Menü > Rechtsklick auf MyComputer > Eigenschaften > Erweiterte Optionen > Umgebungsvariablen
Dort, im "Benutzer-Variablen" Feld,
Alle akzeptieren und man sollte die Ausgabe der Konsole 🙂
InformationsquelleAutor der Antwort pablo