找不到间歇性,随机的文件' Windows子系统Linux(WSL)下的错误

时间:2018-05-07 03:56:33

标签: c++ gcc boost clang windows-subsystem-for-linux

我得到了间歇性的致命错误:......文件未找到'在Windows子系统Linux(WSL)中运行的Ubuntu 16.04.2下使用gcc 4.8或clang 3.8构建C ++应用程序时出错,包括C ++头文件,但仅限于安装Windows 10 April更新(版本1803,OS Build 17134.1)几天前。

来自clang编译器的示例错误消息:

fatal error: 'boost/preprocessor/list/fold_left.hpp' file not found

来自gcc编译器的示例错误消息:

fatal error: boost/mpl/aux_/at_impl.hpp: No such file or directory

我说错误是间歇性的,因为如果我重新运行构建,那么中断构建的特定错误就会消失,并且构建会运行一段时间,直到它成功构建或随机无法包含其他一些文件找不到同类的文件'错误。

此错误的时间及其随机性使我怀疑这是WSL中的新错误。其他人看到这个或有关于如何解决它的建议?

错误并不总是在Boost包含中,但通常只是因为Boost包含了大部分整体包含文件。正在构建的文件存在于/ mnt / d /.

下的共享卷上

2 个答案:

答案 0 :(得分:15)

这已被识别为多线程错误(https://docs.microsoft.com/en-us/windows/wsl/release-notes#build-17655-skip-ahead),并且应该在将来的Windows更新中修复。

由于这是一个多线程错误,因此可以通过不使用多线程构建来解决它。

如果赶时间,可能只需要访问Windows内部程序并使用其中一个预览版本。

答案 1 :(得分:0)

就我而言,它不是多线程,而是工具链的路径。 失败的情况是:工具链安装在/mnt/c/.../tools/中 一个很好的例子是:工具链安装在/home/yurir/tools/

我猜想Windows文件夹与ubuntu文件夹的映射会造成一些混乱。