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