vs2019 cmake项目 WSL下调试提示Unable to open ‘libc-start.c’ ‘libc-exit.c’
当我们配置好cmake项目时,运行程序到达main()函数的结尾时,vs2019调试界面跳出 Unable to open ‘libc-start.c’,函数无法正常返回。
原因是vs2019找不到glibc,虽然ubuntu2004子系统下面这个最基本的c运行库我们知道肯定是有,但是vs2019他自己貌似不会找,蛋疼。。
解决办法是将linux下的glibc复制到windows你的cmake项目下。
1.安装glibc
sudo apt install glibc-source
cd /usr/src/glibc/
sudo tar -xvf glibc-[VERSION].tar.xz
2.拷贝至你的项目目录下
现在在工程目录下建一个文件夹叫做build
这里我的目录是C:\Users\(username)\source\repos\CMakeProject
cd /mnt/c/Users/(username)/source/repos/CMakeProject/build(你的工程目录)
cp -r /usr/src/glibc .
然后将glibc改名叫glibc-xxxxx,注意修改 xxxxx 为报错提示中出现的glibc文件名。
cp有点慢,Ubuntu可能会卡死一会,要等一下。
3.重启vs2019后继续调试
这个时候一般就好了,如果还不行,在跳出错误页面的时候手动选择一下start.c,exit.c等等的路径。