vscode 无法运行c++代码,Run Code之后生成一个没有后缀的文件

背景

想要在vscode中使用code runner来运行c++代码。 电脑已经安装了c++编译器,vscode中也安装了C/C++ 和 Code Runner这两个插件

vscode 无法运行c++代码,Run Code之后生成一个没有后缀的文件_第1张图片

问题描述

在 Run Code时,编译器生成了一个没有后缀的文件,而不是exe文件,从而无法运行程序。

文件管理器下看到是这样的
vscode 无法运行c++代码,Run Code之后生成一个没有后缀的文件_第2张图片

原因分析:

通过分析之后发现是编译的命令不对
原来的命令:

cd "f:\C++Code\wangdao\" ; if ($?) { g++ 2.2--1.cpp -o 2.2--1 } ; if ($?) { .\2.2--1 }

正确的命令:

cd "f:\C++Code\wangdao\" ; if ($?) { g++ 2.2--1.cpp -o 2.2--1.exe } ; if ($?) { .\2.2--1.exe }

解决方案:

  • 打开vscode的设置,在搜索框输入Code-runner: Executor Map,打开settings.json文件

vscode 无法运行c++代码,Run Code之后生成一个没有后缀的文件_第3张图片
vscode 无法运行c++代码,Run Code之后生成一个没有后缀的文件_第4张图片

对cpp那一行进行修改,修改内容:

"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt.exe && $dir$fileNameWithoutExt.exe",

接下来重新Run Code就搞定了。


比较一下两条指令的区别

"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt.exe && $dir$fileNameWithoutExt.exe",

总结

  • 其实这个问题还是困扰了我很久,一开始寻找问题的方向就不对,在网上搜索了很多内容还是没有找到相似的案例。有时候,自己主动去分析问题,或许也能够找到解决问题的关键所在呢,毕竟在分析的过程中,自己解决问题的这种思维能力也在培养。
  • 其实我也不清楚为什么我安装的插件Code Runner配置的cpp编译指令是这样的?这条指令好像在linux下可以执行(暂时还没有去验证),但是在windows下看来是不行的。
    vscode 无法运行c++代码,Run Code之后生成一个没有后缀的文件_第5张图片

你可能感兴趣的:(C++,vscode,c++,ide)