mingw make kann keine Leerzeichen im Pfad verarbeiten?

8

Ich versuche, Code zu kompilieren, das Makefile, das mit qmake erstellt wird. Wenn ich mingw32-make starte, bekomme ich folgenden Fehler:

%Vor%

Durch den Fehler scheint es, dass mingw32-make Pfade, die Leerzeichen enthalten, nicht versteht. Ist das wahr? Gibt es einen Weg dahin?

    
olamundo 14.05.2011, 02:51
quelle

3 Antworten

5

Von dem MinGW-Leitfaden "Erste Schritte" :

  

MinGW kann Probleme mit Pfaden haben, die Leerzeichen enthalten, und wenn nicht, haben normalerweise andere Programme, die mit MinGW verwendet werden, Probleme mit solchen Pfaden. Daher wird dringend empfohlen, dass Sie MinGW nicht an einem Ort mit Leerzeichen im Pfadnamen installieren. d. h., Sie sollten die Installation in einem Unterverzeichnis von "Programme" oder "Eigene Dateien" oder Ähnlichem vermeiden.

Ich vermute, dass dieselben Probleme beim Ausführen von ausführbaren Dateien auch bei anderen Dateien auftreten. Sie könnten versuchen, das Ganze (Dateispezifikation) in doppelte Anführungszeichen zu schreiben und dieses kann funktionieren, aber Windows ist manchmal nicht so logisch wie UNIX-basierte Shells in diesem Bereich.

Leerzeichen in Dateinamen sind sowieso böse: -)

    
paxdiablo 14.05.2011, 03:42
quelle
7

Der übliche Weg, dies in Linux / UNIX zu tun, ist es, jeden Bereich mit einem umgekehrten Schrägstrich zu verlassen, wie zum Beispiel: /c/Documents\ and\ Settings/User Dies funktioniert jedoch nicht immer in MinGW.

Also, benutze den kurzen (8.3) Namen. Du erhältst den Kurznamen mit dem Windows (nicht MinGW) Befehl for %I in (<PATH>) do @echo %~sI , wobei <PATH> . sein kann (zeige aktuelles Verzeichnis wie pwd), * (listet Dateien im aktuellen Verzeichnis auf), ein bestimmter Dateipfad, usw.

Btw, um aus dem schrecklichen cmd.exe-Fenster zu kopieren, klicken Sie auf das Symbol in der oberen linken Ecke der Titelleiste, gehen Sie zu Eigenschaften, Optionen und aktivieren Sie den QuickEdit-Modus. Dann können Sie Text mit Ihrer Maus auswählen. Die Eingabetaste (oder Menü & gt; Bearbeiten & gt; Kopieren) kopiert den Text in die Zwischenablage. Die Einfügetaste (oder Menü & gt; Bearbeiten & gt; Einfügen) fügt es ein.

    
Aleksandr Dubinsky 13.09.2013 08:37
quelle
6

Ich bin mir nicht sicher, ob das hilfreich ist oder nicht (aus Angst, downvoted zu werden), aber ich habe einen semantischen Link erstellt, um Wege mit Leerzeichen zu vermeiden. Nicht sicher, ob es das Problem lösen wird, da es in meinem Szenario einen anderen Fehler zeigte, nachdem ich die semantische Verbindung in Bezug auf PThreads verwendet habe, die ich immer noch nicht beheben konnte.

Erstellen einer semantischen Verknüpfung mithilfe der Eingabeaufforderung:

%Vor%

Dann verwenden Sie für den Befehl, den Sie ausführen möchten, C: \ newshortcut

    
zeta 29.01.2016 00:50
quelle

Tags und Links