WSL1을 실행 중입니다. 내 홈 디렉토리에 파일을 만들었습니다 home/username
. 즉, . 내 C:\ 디렉터리에 armcc.exe라는 .exe 파일이 있습니다. Linux 셸에서 다음과 같은 것을 실행할 수 있습니다.
/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 프로그램이 이 경로 구문을 정상적으로 처리하는 것은 아니며 일부는 드라이브 문자가 포함된 표준 경로를 매우 원하므로 모든 프로그램에서 이 구문을 사용하는 것이 불가능할 수도 있습니다.