首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在多程Ubuntu20.10下编译c++时间歇性“文件未找到”错误

问在多程Ubuntu20.10下编译c++时间歇性“文件未找到”错误
EN

Stack Overflow用户
提问于 2021-01-20 21:34:17
回答 1查看 63关注 0票数 0

我正在尝试使用multipass来生成一个构建环境,源代码在主机上。我的想法是将源代码从主机加载到VM中,然后在VM内部运行构建。(multipass mount src ubuntu:/home/ubuntu/src)。

我试图构建的是一个相对较大的c++项目,其中包含了大量的文件。构建系统为CMake +忍者和clang8.0。

问题是,构建失败了,出现了各种标头的“未找到文件”错误。每次“丢失”文件都是不同的。我说“失踪”是因为文件都在那里。

这看起来与Windows Linux子系统(WSL)下的断断续续的、随机的“文件找不到”错误完全一样,但是使用建议的解决方法没有帮助(例如,我尝试在忍者中设置-j1 )。

知道是什么导致了这一切吗?如果有解决办法的话?

我的主机是macOS Catalina,多程VM实例是Ubuntu20.10。多通本身为1.5.0。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-05 19:03:56

最后,我成为了多通团队的开启公关。经过一些调试,我们发现了两个问题:

  1. macOS Catalina的默认maxfiles限制为256个,在编译大型项目时可按此限制。
  2. 在libssh中有一个限制,它被多通道用来进行挂载。

要解决这个问题,您需要:

  1. 提高maxfiles在macOS中的限制,例如通过遵循这一点
  2. 手动挂载文件夹:(1)在macOS中安装macOS;(2)在设置->共享中启用远程登录;(3)在VM中启用远程登录
代码语言:javascript
复制
mkdir <mount_dir>
sshfs <host_user>@<host_ip>:<host_directory> <mount_dir>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65818009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档