VS-Code findet Datei zum compilieren im Pfad nicht obwohl der Pfad der im Dateimanager kopierte Pfad zur Datei ist?
Hi, ich lern gerade Programmieren in VS-Code und habe mir als erste Sprache C ausgesucht. Ich versuche jetzt seit gut zwei Tagen, mein erstes kleines miniprogramm was schon automatisch da steht, zum laufen zu bringen, allerdings klappt da etwas nicht, vscode findet nähmlich die datei im angegeben Pfad nicht und spuckt mir immer wieder diese Fehlermeldung im Ausgabe Bereich aus (Bild1) wenn ich es versuche mit code runner zu starten
[Running] cd "c:\Users\LaughBoy\programmieren mit c\" && gcc zweiter_versuch.c -o zweiter_versuch && "c:\Users\Jojo\programmieren mit c\"zweiter_versuch
gcc: error: CreateProcess: No such file or directory
vorher hab ich schon noch den complier MinGW runtergeladen, weil vorher der complier komplett gefehlt hat, damit habe ich dann versucht die datei zu kompilieren und zwar im Terminalbereich mit powershell, da bekomm ich aber immer diese Fehlermeldung:
PS C:\Users\Jojo\programmieren mit c> gcc -o erster_code "C:\Users\Jojo\programmieren mit c\erster_code"
gcc.exe: error: C:\Users\Jojo\programmieren mit c\erster_code: No such file or directory
gcc.exe: fatal error: no input files
compilation terminated.
[Done] exited with code=1 in 0.074 seconds
ich bin mittlerweile komplett verwirrt und freue mich über Hilfe ich probier auch gerne was anderes von ganz vorne aus falls es an MinGW liegt, hauptsache ich kann endlich Anfangen mit C zu programmieren. Danke im vorraus.
Lg. LaughBoy
2 Antworten
Dein Problem kommt durch die Leerzeichen im Pfad. Der Compiler denkt, dass der Dateiname unvollständig ist.
Probier es so: gcc -o erster_code "C:\Users\Jojo\programmieren mit c\erster_code.c"
Oder wechsle ins Verzeichnis und kompiliere ohne Pfad: cd "C:\Users\Jojo\programmieren mit c"
gcc -o erster_code erster_code.c
C-Datei kompilieren:
gcc -o erster_code "C:\Users\Jojo\programmieren_mit_c\erster_code.c"
Fehler: „liblto_plugin-0.dll not found“
→ DLL fehlt oder MinGW\bin nicht in PATH.
Lösung:
- DLL in MinGW/bin prüfen, ggf. PATH anpassen.
Oder: gcc -fno-use-linker-plugin -o erster_code "C:\Users\Jojo\programmieren_mit_c\erster_code.c"
ist DLL eine eigene Datei die im MinGW ordner ist? ich hab da echt keine Ahnung von. Und muss MinGW im selben Ordner sein wie das Programm das complimiert werden soll, wenn MinGW in den Umgebungsvariablen als Path eingefügt ist? Sorry falls ich damit nerve das ichs nicht kapiere
Nachtrag: ich finde beim Pfad: "C:\min-gw\mingw64\libexec\gcc\x86_64-w64-mingw32\8.1.0\liblto_plugin.dll.a"
nur liblto_plugin.dll.a
aber da fehlt ja die 0 also ist das fehlende noch was anderes oder?
Ist DLL eine eigene Datei, die im MinGW-Ordner ist?
Ja, eine DLL (.dll-Datei) ist eine eigene Datei. liblto_plugin-0.dll gehört zu MinGW und liegt normalerweise in MinGW\bin.
Ich finde nur: C:\min-gw\mingw64\libexec\gcc\x86_64-w64-mingw32\8.1.0\liblto_plugin.dll.a
Die Datei, die du gefunden hast (liblto_plugin.dll.a), ist eine Import-Library, nicht die eigentliche DLL. Die fehlende liblto_plugin-0.dll sollte woanders in deinem MinGW-Verzeichnis sein.
Muss MinGW im selben Ordner sein wie das Programm, das kompiliert werden soll, wenn MinGW in den Umgebungsvariablen als PATH eingetragen ist?
Nein, MinGW muss nicht im selben Ordner sein. Wenn MinGW\bin in der PATH-Variablen steht, findet das System MinGW automatisch.
Sorry, falls ich damit nerve, dass ich es nicht kapiere.
Keine Sorge, du nervst nicht! Dafür bin ich da. Stell so viele Fragen, wie du willst.
im /bin Ordner finde ich nur diese DLL Datein:
libatomic-1.dll 12.05.2018 08:11 Anwendungswei... 32 KB
libgcc_s_seh-1.dll 12.05.2018 08:11 Anwendungswei... 75 KB
libgomp-1.dll 12.05.2018 08:11 Anwendungswei... 153 KB
libquadmath-0.dll 12.05.2018 08:11 Anwendungswei... 327 KB
libssp-0.dll 12.05.2018 08:11 Anwendungswei... 17 KB
libstdc++-6.dll 12.05.2018 08:11 Anwendungswei... 1.384 KB
libwinpthread-1.dll 12.05.2018 08:11 Anwendungswei... 51 KB
seh ich die richtige nur nicht oder ist die nicht dabei, und falls nicht dabei wo bekomm ich die her? Ich hab gerade im ganzen MinGW Ordner nach liblto_plugin-0.dll suchen lassen und da wird mir nichts ausgeworfen
- Befehl ausprobieren: gcc -fno-use-linker-plugin -o erster_code "C:\Users\Jojo\programmieren_mit_c\erster_code.c" ## Das deaktiviert das Linker-Plugin und könnte das Problem umgehen.
- MinGW neu installieren – Am besten mit MSYS2, da es aktuellere Pakete hat.
wo muss ich den Befehl eingeben? im Terminal oder?
PS C:\Users\Jojo\programmieren_mit_c> gcc -fno-use-linker-plugin -o erster_code
gcc.exe: fatal error: no input files
compilation terminated.
PS C:\Users\Jojo\programmieren_mit_c> gcc -fno-use-linker-plugin -o erster_code "C:\Users\Jojo\programmieren_mit_c\erster_code.c"
gcc.exe: error: CreateProcess: No such file or directory
PS C:\Users\Jojo\programmieren_mit_c>
hab das jetzt gemacht aber da kommt jetzt auch nichts raus, ich denk ich meld mich morgen nochmal und geh jetzt gleich erstmal schlafen.
Powershell benutz ich im Terminal und MinGW neu installieren schau ich morgen dann mal
es ist halt irgendwie ein ewiger kreislauf der selben fehlermeldungen, erst fehlt das eine das findet es das andere nicht, was eigentlich genau da ist wie es angegeben ist im pfad, das ist für mich total verwirrend
Probier’s morgen in Ruhe mit einer Neuinstallation, und wenn was ist, einfach melden. Ich helfe gern!
Also morgen einfach MinGW neu laden, mach ich. Gute Nacht, Danke und bis morgen, ich meld mich wenn's geklappt hat und wenn nicht dann sowieso
Guten Morgen oder was auch immer, bin jetzt soweit das ich wieder eine andere Fehlermeldung im Terminal habe:
PS C:\Users\Jojo\programmieren_mit_c> gcc -o erster_code "C:\Users\Jojo\programmieren_mit_c\erster_code.c"
gcc.exe: error: CreateProcess: No such file or directory
in der Ausgabe wird beim Starten aber immer noch das hier angzeigt:
[6.2.2025, 12:20:11] Die Konfiguration mit compilerPath "C:\min-gw\mingw64\bin\gcc.exe" kann nicht aufgelöst werden. Stattdessen wird "cl.exe" verwendet.
soll ich da einfach das neue mit in die umgebungsvariablen aufnehemen?
Lg
cl.exe ist der Compiler von Microsoft (Visual Studio). Wenn er statt gcc.exe verwendet wird, erkennt dein Terminal MinGW nicht richtig.
Sobald du C:\min-gw\mingw64\bin zur PATH-Variable hinzugefügt hast, sollte gcc funktionieren.
das ganze sieht bei mir jetzt ziemlich leer aus. Hab mingw jetzt über deinen link runtergeladen gehabt, aber in beiden MinGW ornderen die da drin sin also 32 wie 64 sind die /bin Ordner komplett leer
Dann ist die Installation unvollständig. Starte MSYS2 Shell (msys2.exe) und installiere GCC mit: pacman -S mingw-w64-ucrt-x86_64-gcc
geht immer noch nicht, ordner sind immernoch leer, hast du vielleicht einen anderen compiler für mich den ich probieren kann? bzw wie nutze ich den von vscode richtig wenn es da doch offensichtlich schon einen gibt?
Falls MSYS2 nicht klappt, kannst du TDM-GCC probieren: https://jmeubank.github.io/tdm-gcc/
Nach der Installation den bin-Ordner zu PATH hinzufügen und mit gcc --version testen.
VS Code-Compiler (cl.exe) nutzen:
1. MSVC installieren: Lade die Visual Studio Build Tools herunter: https://visualstudio.microsoft.com/de/visual-cpp-build-tools/
2. "Entwicklungs-Eingabeaufforderung für VS" starten
3. Kompilieren: cl erster_code.c
Vergiss VS Code und MinGW, nimm lieber Visual Studio. Davon gibt es eine kostenlose Community Edition. Die Compiler und Laufzeitbibliotheken sind schon komplett dabei. Die Pfade werden automatisch richtig eingetragen, so das alles stimmt. https://visualstudio.microsoft.com/de/vs/community/
Man muss sich nur nach der Installation kostenlos registrieren, dann kann man es dauerhaft kostenlos nutzen.
Da der C++ Compiler in Visual Studio abwärtskompatibel zu C ist, geht man so vor: https://www.youtube.com/watch?v=nICeoyJKcUo Das Video ist zwar in Englisch, aber man versteht dann die Vorgehensweise.
ich habe jetzt die Leerzeichen im Pfadnamen, also den Ordnernamen mit Unterstrichen ersetzt und bekomme jetzt diese Fehlermeldung im Terminal:
PS C:\Users\Jojo\programmieren_mit_c> gcc "C:\Users\Jojo\programmieren_mit_c"
gcc.exe: fatal error: -fuse-linker-plugin, but liblto_plugin-0.dll not found
compilation terminated.
das ist jetzt eine andere Fehlermeldung aber ich versteh immer noch nicht was falsch ist außer die leerzeichen die ich jetzt ersetzt habe. Irgendeine Idee?