2016-09-22 8 views
0

私は通常Linux環境で動作し、Makefileは私のプロジェクトをコンパイルしています。 makefileではディレクトリを作成します。 Windowsでこのメイクファイルを使用すると、ユーザー名が "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

Makeを実行せずにコマンドラインで実行できますか?スペースの前にスラッシュやバックスラッシュなどを挿入してもかまいませんか? (私は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があります。

関連する問題