0

I am running WSL1. I created a file in my home dir, ie home/username. I have a .exe file called armcc.exe in my C:\ directory. I can run something like this from the linux shell:

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

However if I create a file under /home/username, the executable is not able to access the file, ie this command fails:

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

I get an error "no source": Error: #5: cannot open source input file from the compiler's executable.

This seems like the Windows filesystem cannot access the Linux side. How can I achieve this, if at all?

1 Answer 1

0

Regular Windows programs use the Win32 subsystem and as a result don't handle Unix paths, only Windows paths. When you use a path to a Windows file system, it gets translated into a Windows path.

There are ways to specify file paths under WSL, using the \\wsl$ prefix. You will likely need to use such a path for a Windows program using this Windows syntax. However, not all Windows programs gracefully handle this path syntax, and some very much want a standard path with a drive letter, so it may not be possible to use this syntax with all programs.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .