解决VSCode编译C++报错No such file or directory问题

问题

最近使用VSCode运行C++代码,弹出错误提示:No such file or directory。猜测可能是因为中文路径的问题。

原因

  • 排查后发现,确实是因为项目是中文路径的原因,安装的编译器不支持路径含中文。

只要路径名称存在中文就会运行报错,显示无法找到目标文件,后来看了好多解答,都说没办法从根本上解决。

解决方案

于是想到两个解决方案

  • 试着能否解决编译器支持中文路径运行。
  • 严格要求项目的路径为全英文(为文件夹设置一个别名)。

解决编译器支持中文路径运行

网上有一大堆的文章。基本最终的解决方法都是改Launch.json与task.json,把我们的编译的exe程序放到一个全英文路径下面。我觉得这种方法不太妥,对于其他软件来说,又可能会发生不兼容问题,况且个人也不太喜欢再搞出一个路径来放这些调试程序。

对于这种方法感兴趣的话,大家可以参考 解决VS Code中文名及中文路径调试报错_C_内存溢出

为文件夹设置别名或备注

严格要求项目的路径为全英文,我为什么推荐这种方法呢?因为即使我们通过第一种方法在VC上临时解决了我们的问题,但是之后项目如果需要在其他软件里打开呢,可不可能又会发生不兼容问题,那到时候又要如何解决?这我们无法确定。

我们想要降低风险,可以给文件夹设置一个别名或备注,这样既可以保证英文路径的不变,也可以给文件夹加一个"备注",来提高我们的可阅读性,方便日后查看与管理。

参考笔者文章——设置文件夹别名与备注-解决中文路径导致软件报错问题(www.unitymake.com)

笔者试着能否寻找一种方式,既可以保证英文路径的不变,也可以给文件夹加一个"备注",来提高我们的可阅读性,方便日后查看与管理。因此本文旨在介绍文件夹添加"备注"的几种方式,如别名、备注。
2022-10-22
作者:Miracle
来源:麦瑞克博客
链接:https://www.unitymake.com/archives/programming-life/2130
本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议,转载请注明!
THE END
分享
打赏
海报
解决VSCode编译C++报错No such file or directory问题
问题 最近使用VSCode运行C++代码,弹出错误提示:No such file or directory。猜测可能是因为中文路径的问题。 原因 排查后发现,确实是因为项目是中文路径的……
<<上一篇
下一篇>>
文章目录
关闭
目 录