Hi ich habe ein Problem mit SciTE Wenn ich mein Programm starten möchte kommt: der Befehl "g++" ist entweder falsch geschrieben oder konnte nicht gefunden?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

g++ ist der GNU C++-Compiler. Unter Linux findest Du ihn in der Paketverwaltung. Unter Windows installierst Du wohl am besten MinGW (http://mingw-w64.org/doku.php) oder Cygwin (https://cygwin.com/install.html). Für OSX findest Du sicher auch was passendes.

Falls Du schon einen C++-Compiler installiert hast (z.B. clang oder den aus VisualStudio), kannst Du SciTE sicher so konfigurieren, dass er diesen statt g++ verwendet.


Robinosch 
Fragesteller
 13.05.2017, 11:06

Ich habe nun mingw installiert. Wenn ich jetzt mein Programm starte steht dort g++:error CreateProcess: No such file or Directory. Ich bin etwas neu in dem Thema wäre dankbar für Hilfe 

2
ralphdieter  13.05.2017, 16:56
@Robinosch

Hast Du das bin-Verzeichnis des Compilers im Pfad? Wenn das Installationsprogramm das gemacht hat, musst Du Dich möglicherweise neu einloggen.

Zum Test öffne eine Dos-Box und tippe g++. Was passiert dann?

0
Robinosch 
Fragesteller
 13.05.2017, 18:16
@ralphdieter

Hi erstmal möchte ich mich bedanken. Bei SciTe finde ich irgendwie nichts wo ich den Pfad angeben kann. Die bin Datei vom Compiler habe ich in den scite Ordner gepackt und entpackt dadurch kam Ebenhalt die andere Meldung. Wenn ich g++ bei dosbox eingebe kommt unbekannter Befehl.

1
ralphdieter  14.05.2017, 04:50
@Robinosch

Wenn ich g++ bei dosbox eingebe kommt unbekannter Befehl.

Also liegt g++.exe nicht im Suchpfad von Windows.

Der Pfad (englisch: PATH) ist eine Umgebungsvariable, die alle Verzeichnisse enthält, in denen Windows nach ausführbaren Programmen sucht. Das hat nichts mit SciTE zu tun.

Bei Dir fehlt das Verzeichnis, in dem "g++.exe" liegt.

Das kann man irgendwo in Start/Einstellungen/System/Umgebungsvariablen oder so eintragen. Aber Vorsicht: Der Pfad kann schon ziemlich lang sein und wird nur in einer winzigen Eingabezeile angezeigt. Bevor Du Dich damit abquälst, solltest Du ihn in der Dos-Box testen. Tippe mal sowas wie:

C:>c:\Programme\mingw\bin\g++ -v

Der fette Teil ist der gesuchte Pfad. Du musst natürlich das richtige Verzeichnis angeben und alles in doppelte Anführungszeichen einschließen, falls er Leerzeichen enthält.

Wenn alles richtig ist, sollte g++ ein paar Zeilen Info ausgeben (Option "-v"). Dann kannst Du das Verzeichnis an den Windows-Pfad anhängen (nach ";" ). Sollte dann etwa so aussehen:

PATH=C:\Windows;...;c:\programme\mingw\bin

Laufende Anwendungen verwenden immer eine Kopie der Umgebung. Nach dem Ändern musst Du also SciTE oder die Dos-Box neu starten, damit sie den neuen Pfad mitbekommen.

0
Robinosch 
Fragesteller
 14.05.2017, 15:31
@ralphdieter

Hi

Ich habe den Pfad g++.exe bei Benutzervariablen und Systemvariablen bei der Einstellung Umgebungsvariablen angegeben. Danach habe ich bei DosBox mal g++ angegeben und es kam die selbe Meldung, dass es ein unbekannter Befehl sei, auch nach einen Neustart. Ich bin jetzt etwas am verzweifeln. Ich weiß nicht ob ich irgendetwas falsch gemacht habe. Bei SciTE kommt auch noch die selbe Fehlermeldung.

0
ralphdieter  14.05.2017, 17:11
@Robinosch

Vermutlich steckt ein kleiner Tippfehler drin. Vier Augen sehen mehr als zwei. Also gib mal in der Dos-Box den Befehl path ein und kopiere dessen Ausgabe hier her.

0
Robinosch 
Fragesteller
 15.05.2017, 14:01
@ralphdieter
path=Z:\

Ich vermute es liegt daran, dass ich es über die Einstellungen in Windows gemacht habe und dort das PATH bearbeitet habe und g++ hinzugefügt habe. Und SciTE gibt dies an >g++ -pedantic -Os Dia.cpp -o Dia.



0
ralphdieter  15.05.2017, 17:35
@Robinosch

Und SciTE gibt dies an >g++ -pedantic -Os Dia.cpp -o Dia.

Die Kommandozeile von SciTE sieht gut aus.

path=Z:\

Der Windows-Pfad ist komplett zerschossen. Unter Win7 müsste es systemweit mindestens so aussehen (die Zeilenumbrüche gehören nicht dazu):

%SystemRoot%\system32;
%SystemRoot%;
%SystemRoot%\System32\Wbem;
%SystemRoot%\System32\WindowsPowerShell\v1.0

Bei den Benutzer-Variablen sollte PATH gar nicht definiert sein.

Ich empfehle Dir, das erst mal wieder zu reparieren. Am besten ist wohl "System wiederherstellen" (keine Ahnung, wie das geht).

Danach kannst Du das Verzeichnis für g++.exe dazu nehmen. Es ist egal, ob das als (neue) Benutzervariable PATH=z:\mingw\bin passiert oder an die Systemvariable PATH hinten angehängt wird. Beide Variablen werden verwendet. Zur Kontrolle: Auf der Kommandozeile sollte path beide in einem Rutsch ausgeben.

Und nochmal zur Sicherheit: An PATH hängst Du nur das Verzeichnis an, in dem die Datei "g++.exe" liegt. Der Dateiname selbst gehört nicht dazu.

Zum Verständnis: Wenn Du in der Dos-Box oder einen anderen Programm den Befehl "trallala" abfeuerst, durchsucht Windows die Verzeichnisse aus PATH nach trallala.exe, trallala.bat und anderen Endungen. Der erstbeste Treffer wird ausgeführt. Wird nichts gefunden, kommt die Meldung:

der Befehl "trallala" ist entweder falsch geschrieben oder konnte nicht gefunden werden.

0