• 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++文件所在的目录了。
    至此,问题解决了~

  • 相关阅读:
    gitpod.io,云端开发调试工具。
    qiankun使用Actions实现通信
    酒店神秘顾客如何审核资料
    项目实战:组件扫描(4)-筛选带有RequestMapping注解的bean实例
    最大似然估计和最小二乘法 含代码
    leetCode 55.跳跃游戏 贪心算法
    软件流程和管理(三):Risk Management
    Python基础入门篇【27】--python基础入门练习卷C
    VAD--学习笔记
    Ubuntu22.04安装Mongodb7.0
  • 原文地址:https://blog.csdn.net/weixin_43354152/article/details/126371084