c++ - Vscode 运行调试器错误“启动程序*文件/路径*不存在
问题描述
我试图找出我的编译器或launch.json 文件有什么问题。每当我尝试在 vs 代码中运行一个简单的程序时,都会出现错误。错误说,“启动程序file_path不存在。我尝试下载不同的编译器并向我的系统环境变量添加不同的路径。我现在失去了信心。
解决方案
我想我知道哪一个是你的问题,让我给你看一个简单的例子:
我有一个名为 Test 的文件夹,只有 Test.cpp 文件:
然后 Test.cpp 只有这个简单的代码:
#include <iostream>
using namespace std;
int main(){
cout<<"Hello World!"<<endl;
return 0;
}
要编译代码并执行它,我正在使用此文档 ,检查您的launch.json文件,我发现您使用的是相同的,但您的问题出在您的launch.json中,特别是在名为 program 的变量中:
VS Code 正在尝试仅使用工作区文件夹执行您的程序,这会导致错误,您应该在变量上使用此值来运行和调试程序而不会出现问题:
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe"
${fileDirname} - 当前打开文件的目录名
${fileBasenameNoExtension} - 当前打开的文件的基本名称,没有文件扩展名
这样,VS Code 可以运行和调试编译代码后生成的可执行文件,在我的示例中,我打开名为test.cpp的文件来执行运行,因为可执行文件是从该文件生成的。这是最后文件夹的顺序:
我建议您阅读这篇文章,其中包含VS Code 上的 JSON 文件的变量和这个.
推荐阅读
- javascript - jQuery Reel 启用循环动画
- mysql - 在 .sql 文件中为多个表创建前缀
- regex - 使用 Windows findStr 提取由三位数组成的行
- scala - 将 Directive1[Option[String]] 转换为字符串
- scala - IntelliJ (sbt-shell) 中的错误测试:java.net.URISyntaxException
- javascript - 在滚动上加载外部脚本
- node.js - 如何使用库导入编译 C 文件到 webassembly 文件(Emscripten)
- mysql - 列出订单最多的产品的 ProductCode、ProductName 和订单数。订单数为“OrderCount”
- laravel - 如何使用 laravel 正确设置 excel 文件的样式?
- aem - 在 AEM 中,没有为视频执行 DAM 更新资产工作流?