Windows 執行檔在 wsl 路徑下找不到文件

Windows 執行檔在 wsl 路徑下找不到文件

我正在運行 WSL1。我在我的主目錄中建立了一個文件,即home/username.我的 C:\ 目錄中有一個名為 armcc.exe 的 .exe 檔案。我可以從 linux shell 運行這樣的東西:

/mnt/c/armcc.exe /mnt/c/test/foo.c

但是,如果我在 下創建文件/home/username,可執行文件將無法存取該文件,即此命令失敗:

/mnt/c/armcc.exe /home/username/foo.c

"no source": Error: #5: cannot open source input file我從編譯器的可執行檔中收到錯誤。

看來Windows檔案系統無法存取Linux端。如果有的話,我怎麼能實現這個目標?

答案1

常規 Windows 程式使用 Win32 子系統,因此不處理 Unix 路徑,僅處理 Windows 路徑。當您使用 Windows 檔案系統的路徑時,它會轉換為 Windows 路徑。

WSL下有指定檔案路徑的方法,使用\\wsl$前綴。對於使用此 Windows 語法的 Windows 程序,您可能需要使用這樣的路徑。但是,並非所有 Windows 程式都能很好地處理此路徑語法,有些程式非常需要具有磁碟機號碼的標準路徑,因此可能無法在所有程式中使用此語法。

相關內容