vscode在构建c文件时报告活动文件不是C或C++源文件
Posted
技术标签:
【中文标题】vscode在构建c文件时报告活动文件不是C或C++源文件【英文标题】:vscode report that the active file is not a C or C++ source file while building a c file 【发布时间】:2022-01-18 08:59:34 【问题描述】:vscode在编译c程序时报错。错误信息如下。
Cannot build and debug because the active file is not a C or C++ source file.
The terminal process failed to launch (exit code: -1).
任务配置文件如下。
"version": "2.0.0",
"tasks": [
"type": "cppbuild",
"label": "C/C++: g++ build active file",
"command": "/usr/bin/gcc",
"args": [
"-fdiagnostics-color=always",
"-g",
"/home/xxx/tmp/test/main.c"
],
"options":
"cwd": "$fileDirname"
,
"problemMatcher": [
"$gcc"
],
"group":
"kind": "build",
"isDefault": true
]
我在 /home/xxx/tmp/test 文件夹下有一个名为 main.c 的 c 文件,它是工作区文件夹。问题的原因可能是什么?
【问题讨论】:
【参考方案1】:正如 Sean McManus 的 this 回复中所见,您需要删除您的 tasks.json
中的所有 $file
引用,例如:
"args": [
"-g",
"$file",
"-o",
"$fileDirname/$fileBasenameNoExtension"
],
"options":
"cwd": "$fileDirname"
改成
"args": [
"-g",
"test.cpp",
"-o",
"libs/test.o"
],
"options":
"cwd": "$fileDirname"
并将构建类型从 cppBuild
更改为 shell
。
【讨论】:
以上是关于vscode在构建c文件时报告活动文件不是C或C++源文件的主要内容,如果未能解决你的问题,请参考以下文章
windows编译libevent时报告“缺少print_winsock_errors.obj”的解决
开发环境Ubuntu 中使用 VSCode 开发 C/C++ ④ ( 创建 tasks.json 编译器构建配置文件 | tasks.json 编译器构建配置文件分析 )
开发环境Ubuntu 中使用 VSCode 开发 C/C++ ④ ( 创建 tasks.json 编译器构建配置文件 | tasks.json 编译器构建配置文件分析 )