视频讲解
WSL2 C++编译时报错,一般出现该报错,都是内存或者swap满了,被oom kill掉了编译器程序,所以只需要增加swap或者分配更多的内存
C++: fatal error: Killed signal terminated program cc1plus
先free -h看一下,确认下当前WSL下的内存大小以及swap大小
dar@dar:~$ free -h
total used free shared buff/cache available
Mem: 15Gi 558Mi 14Gi 3.0Mi 496Mi 14Gi
Swap: 4.0Gi 0B 4.0Gi
在powershell 中执行如下指令关闭wsl
wsl --shutdown
修改C盘用户目录下的.wslconfig文件,增加如下配置(需要结合本身内存大小,我的机器是32G的内存,如果内存不大,可以把swap加大,这个只消耗硬盘,但编译速度会变慢)
[wsl2]
networkingMode=mirrored
kernel=C:\\Users\\97478\\wsl_vmlinux-5.15.167.4
memory=24GB
swap=8GB
再进入WSL2,free看一下
重新编译,不再报错