• VS Code搭配code runnner编译时提示:g++: fatal error: no input files解决方法


    如下图所示,如果我们使用的是windows系统,当我们编写好C++文件之后,执行run code命令,就会出现的下面的错误提示:
    g++: error: testCodeRunnner.cpp: No such file or directory
    g++: fatal error: no input files
    compilation terminated.
    在这里插入图片描述
    仔细分行上面的运行命令:
    cd “d:\temp” && g++ testCodeRunnner.cpp -o testCodeRunnner && "d:\temp"testCodeRunnner
    实际上,这行命令包含三个步骤:
    (1)进入到cpp文件所在的目录:cd “d:\temp”
    (2)在文件所在目录将文件编译成可以执行文件: g++ testCodeRunnner.cpp -o testCodeRunnner
    (3)运行编译之后的可执行文件,d:\temp"testCodeRunnner

    出现错误的原在于第一个步骤,通过上面的图可以看到,由于我们当前所在的目录是c盘下面,但是我们的文件在d:\temp, windows系统中不能直接cd到另外一个盘。也就是说,第一个命令cd “d:\temp” 是不能从c盘切换到D盘的。如果我们需要从一个盘切换到另外一个盘,需要在cd命令前加上 /d 字段,完整命令格式为: cd /d 绝对路径。比如上述命令就需要变成:cd /d “d:\temp”

    找到问题的原因之后,就能解决这个问题了
    (1)第一种方法就是,手动切换到文件所在的盘之后,然后再执行run code命令。上面提到命令失败的主要原因是,cd 命令不能跨盘切换,因此可以先将当前目录切换到d盘,直接输入 d: 然后回车就可以切换到d盘了
    (2)另外一种就在run code命令中加上 /d 字段,防止从一个盘切换到另外一个盘时失败。
    进入到Code Runner的设置 - > extension settings
    在这里插入图片描述
    然后修改json配置文件:
    在这里插入图片描述
    从配置文件中可以看看到,json中为不同的语言·都配置不同的命令,以 C++为例:
    在这里插入图片描述
    可以看到c++的执行命令是下面这一行:
    cd $dir && g++ $fileName -o $fileNameWithoutExt && d i r dir dirfileNameWithoutExt
    由于cd $dir 这个命名在需要切换的不同的盘时失效,我们自己加上/d字段就好了:
    cd /d $dir && g++ $fileName -o $fileNameWithoutExt && d i r dir dirfileNameWithoutExt

    效果如下:
    在这里插入图片描述

    可以看到,尽管我们执行run code的命令时,我们还在在c盘目录,c++文件位于d盘中,但是命令还是执行成功了,并且我们可以发现,命令之后之后,当前目录已经切换到我们c++文件所在的目录了。
    至此,问题解决了~

  • 相关阅读:
    js内容混淆,返回内容加密
    亚马逊云科技 Build On 2022 - AIot 第二季物联网专场实验心得
    Vue中 使用 Scss 实现配置、切换主题
    【GAMES202】A Glimpse of Industrial Solution—实时渲染中常用的工业界技术
    visual studio code配置anaconda3的python虚拟环境
    操作users表的CRUD(增、查、删、改)
    为k8s节点预留资源,防止pod占用资源过多导致雪崩
    如何进行远程adb真机调试?
    手把手教NLP小白如何用PyTorch构建和训练一个简单的情感分类神经网络
    APS生产计划排产 — 排产结果拉动模具工装需求计划
  • 原文地址:https://blog.csdn.net/weixin_43354152/article/details/126371084