2016-09-22 2 views
0

Ich arbeite normalerweise in einer Linux-Umgebung und Makefiles kompilieren mein Projekt. Im Makefile macht es Verzeichnisse. Wenn ich dieses Makefile unter Windows verwende, gibt es Leerzeichen im Pfad, da der Benutzername "John Doe" ist.Verzeichnis Pfad mit Leerzeichen in Makefile Windows-Umgebung

Was ich versucht habe, ist:

MAKEPATHCMD = mkdir 
build: 
@(\ 
    echo -e "Building...\n"; \ 
    $(MAKEPATHCMD) "$(NEW_PATH)"; \ 
    . 
    . 
    . 

Der Fehler ist unten ...

/usr/bin/mkdir: cannot create directory '/c/Users/John Doe/Desktop/new': No such file or directory 

Andere Dinge, die ich versucht habe:

$(MAKEPATHCMD) "\"$(NEW_PATH)\""; \ 

$(MAKEPATHCMD) "'$(NEW_PATH)'"; \ 

Wie kann ich Makefile erstellt Verzeichnispfade mit Leerzeichen in Windows?

+0

Können Sie es in der Befehlszeile tun, ohne Make? Vielleicht indem Sie einen Schrägstrich oder einen Backslash oder etwas vor dem Leerzeichen einfügen? (Ich mache kein Windows.) – Beta

Antwort

0

Arbeiten Sie in einem Verzeichnis, das keine Leerzeichen enthält, z. B. c: \ work.

Oder löschen Sie Leerzeichen im Verzeichnisnamen, indem Sie ihn in einen "Kurznamen" konvertieren.

Verwenden Sie das folgende Skript:

rem Pass path to sanitize as arg 1 @echo off echo Original path=[%~1] call :chkspaces "%~1"

if /I NOT "%_sp%" == "%~1" call :shrt "%~1" echo uglified=[%_sp%] goto :EOF

:chkspaces set _sp=%1 set _sp=%_sp: =% goto :EOF

:shrt echo arg=[%1] set _sp=%~s1 goto :EOF

Dies wird einen kurzen Namen für Ihr Verzeichnis erzeugen. Dann nur cd dort.

Verwandte Themen