编译首个C++程序遇致命错误:No such file or directory求助
解决GCC编译C++程序时"No such file or directory"错误
核心问题排查与修复
1. 修正VS Code变量拼写错误
你的tasks.json里使用了错误的变量名${workspacefolder},VS Code的工作区根目录变量是**${workspaceFolder}**(首字母F大写)。拼写错误会导致编译器找不到目标.cpp文件,直接触发"No such file or directory"错误。
2. 调整编译目标路径(更适合入门场景)
如果你的C++文件不是放在工作区根目录,或者只想编译当前打开的文件,建议把${workspaceFolder}\\*.cpp替换为${file},这样编译器只会编译你当前正在编辑的单个文件,避免批量查找文件的路径问题。
3. 输出文件无需手动创建文件夹
Llama.exe是编译生成的可执行文件,不是文件夹,你不需要提前创建它。只要${fileDirname}对应的目录存在,编译器会自动生成这个exe文件。
修正后的tasks.json配置
{ "version": "2.0.0", "tasks": [ { "type": "cppbuild", "label": "Build with GCC 13.2.0", "command": "C:\\mingw64\\bin\\g++.exe", "args": [ "-g", "-std=c++20", "${file}", "-o", "${fileDirname}\\Llama.exe" ], "options": { "cwd": "${fileDirname}" }, "problemMatcher": [ "$gcc" ], "group": "build", "detail": "compiler: C:\\mingw64\\bin\\g++.exe" } ] }
额外代码建议
你的代码里result变量定义后没有使用,编译虽然能通过,但程序没有实质输出。可以修改代码让结果可见:
#include <iostream> int main(){ auto result = (10 <=> 20) > 0; std::cout << "Result: " << result << std::endl; }
最后验证步骤
- 保存修正后的
tasks.json和C++代码 - 在VS Code中打开你的C++文件
- 按下
Ctrl+Shift+B执行编译任务 - 检查编译输出是否成功,然后在终端运行
Llama.exe查看结果
内容的提问来源于stack exchange,提问作者Tridan_
相关产品推荐
相关产品推荐

