sch*_*333 3 git windows-10 visual-studio-2015 windows-subsystem-for-linux
昨晚Win10对版本1803进行了更新.
从那时起,Visual Studio(2015)就无法再编译任何新的克隆项目了.我通过Windows上的Bash从gitlab服务器克隆.在更新之前已经在磁盘上的旧项目仍然可以编译而无需抱怨.
似乎Visual Studio无法再找到/找到文件,因为尝试编译会产生如下错误消息:
c1xx : fatal error c1083: cannot open source file: ...
Run Code Online (Sandbox Code Playgroud)
有没有人遇到同样的问题或有胶水为什么会发生这种情况?
经过一番挖掘后,它归结为CL.exe编译器似乎不允许读取由git创建的任何子目录的问题.但是,它有权在主 git目录中读取.
事实证明这是Ubuntu子系统的问题.通过WSL创建的目录不能被某些程序(在我们的例子中是CL.exe)读取.
真可惜......在更新WSL和VS之前就像魅力一样!
到目前为止的解决方案:使用git-Bash直到MS修复问题...
小智 6
我遇到了同样的问题.基于@Biswapriyo提供的链接,我能够理解导致此问题的原因.
Windows子系统Linux(WSL)最近添加了对区分大小写的文件/文件夹的支持.但是,使用cl.exe (c1xx)编译器时,它不会在当前版本的WSL中创建(或克隆)的文件夹中找到文件.原因是cl.exe使文件和路径大写.因此,如果调用main.c了源文件c:\tmp,编译器会查找C:\TMP\MAIN.C.因此,区分大小写的文件匹配将不起作用,并且编译器"无法打开源文件".
要解决此问题,请/etc/wsl.conf在WSL环境中创建文件.添加以下文本wsl.conf
[automount]
options=case=off
Run Code Online (Sandbox Code Playgroud)
我已经验证这解决了我在WSL更新中遇到的问题.但是,它会破坏WSL处理文件名,只有在同一文件夹中才会有所不同.