2016-09-22 87 views
0

我通常在linux環境下工作,並且Makefiles編譯我的項目。在makefile中它會生成目錄。當我在Windows上使用此makefile時,路徑中有空格,因爲用戶名是「John Doe」。在Makefile中創建目錄路徑Windows環境

我已經試過是:

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

下面的錯誤是...

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

其他的事情我已經試過:

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

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

怎樣纔可以有makefile會在Windows上創建包含空格的目錄路徑?

+0

你可以在命令行上做到這一點嗎?也許可以在空間前插入斜槓或反斜槓或其他東西? (我不會做Windows。) – Beta

回答

0

在不包含空格的目錄(如c:\ work)中執行您的工作。

或者,通過將目錄名稱中的空格轉換爲「短名稱」來消除空格。

使用下面的腳本:

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

這將產生目錄一個簡短的名稱。那麼只需cd那裏。