ausführbare Windows-Datei kann Datei unter WSL-Pfad nicht finden

ausführbare Windows-Datei kann Datei unter WSL-Pfad nicht finden

Ich verwende WSL1. Ich habe eine Datei in meinem Home-Verzeichnis erstellt, d. h home/username. Ich habe eine .exe-Datei namens armcc.exe in meinem Verzeichnis C:\. Ich kann so etwas von der Linux-Shell aus ausführen:

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

Wenn ich jedoch eine Datei unter erstelle /home/username, kann die ausführbare Datei nicht auf die Datei zugreifen, d. h. dieser Befehl schlägt fehl:

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

Ich erhalte einen Fehler "no source": Error: #5: cannot open source input filevon der ausführbaren Datei des Compilers.

Es scheint, als könne das Windows-Dateisystem nicht auf die Linux-Seite zugreifen. Wie kann ich das erreichen, wenn überhaupt?

Antwort1

Normale Windows-Programme verwenden das Win32-Subsystem und verarbeiten daher keine Unix-Pfade, sondern nur Windows-Pfade. Wenn Sie einen Pfad zu einem Windows-Dateisystem verwenden, wird dieser in einen Windows-Pfad übersetzt.

Es gibt Möglichkeiten, Dateipfade unter WSL anzugeben,mit dem \\wsl$Präfix. Sie werden einen solchen Pfad wahrscheinlich für ein Windows-Programm mit dieser Windows-Syntax verwenden müssen. Allerdings können nicht alle Windows-Programme diese Pfadsyntax problemlos verarbeiten, und manche Programme benötigen unbedingt einen Standardpfad mit einem Laufwerksbuchstaben. Daher ist es möglicherweise nicht möglich, diese Syntax mit allen Programmen zu verwenden.

verwandte Informationen