【Executing task: C/C++: g++ 生成活动文件 < 无法生成和调试,因为活动文件不是 C 或 C++ 源文件。 终端进程启动失败(退出代码: -1)。 终端将被任务重用】

报错:

> Executing task: C/C++: g++ 生成活动文件 <
无法生成和调试,因为活动文件不是 C 或 C++ 源文件。
终端进程启动失败(退出代码: -1)。
终端将被任务重用,按任意键关闭。

在 VSCode 中 , 创建 cpp 源码

#include <opencv2/opencv.hpp>
#include <iostream>

int main() {
    // 使用 cv::VideoCapture 打开摄像头
    cv::VideoCapture cap(0); // 参数0通常表示默认摄像头

    if (!cap.isOpened()) {
        std::cerr << "无法打开摄像头" << std::endl;
        return -1;
    }

    cv::Mat frame;
    while (true) {
        // 从摄像头读取一帧
        if (!cap.read(frame)) {
            std::cerr << "无法读取帧" << std::endl;
            break;
        }

        // 显示帧
        cv::imshow("摄像头窗口", frame);

        // 按 'ESC' 键退出
        if (cv::waitKey(30) == 27) {
            break;
        }
    }

    // 释放摄像头
    cap.release();
    cv::destroyAllWindows();
    return 0;
}

生成了 tasks.json 构建脚本 ;

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",
			"label": "C/C++: g++ 生成活动文件",
			"command": "/usr/bin/g++",
			"args": [
				"-fdiagnostics-color=always",
				"-g",
				"${file}",
				"-o",
				"${fileDirname}/${fileBasenameNoExtension}"
			],
			"options": {
				"cwd": "${fileDirname}"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": {
				"kind": "build",
				"isDefault": true
			},
			"detail": "编译器: /usr/bin/g++"
		}
	]
}

二、解决方案

在 tasks.json 构建脚本中 , 指定 C/C++ 文件路径的是 "tasks 下的 “args” 路径 ,

当前配置的 g++ 参数的 args 配置如下 :

			"args": [
				"-fdiagnostics-color=always",
				"-g",
				"${file}",
				"-o",
				"${fileDirname}/${fileBasenameNoExtension}"
			],

f i l e " 配置就是 C + + 源文件的路径 , 该路径无效 , 这里修改为 " {file}" 配置就是 C++ 源文件的路径 , 该路径无效 , 这里修改为 " file"配置就是C++源文件的路径,该路径无效,这里修改为"{workspaceFolder}/*.cpp” 参数 ;

修改后的 tasks.json 构建脚本 如下 :

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",
			"label": "C/C++: g++ 生成活动文件",
			"command": "/usr/bin/g++",
			"args": [
				"-fdiagnostics-color=always",
				"-g",
				"${workspaceFolder}/*.cpp",
				"-o",
				"${fileDirname}/${fileBasenameNoExtension}"
			],
			"options": {
				"cwd": "${fileDirname}"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": {
				"kind": "build",
				"isDefault": true
			},
			"detail": "编译器: /usr/bin/g++"
		}
	]
}

使用 Ctrl + Shift + B 快捷键 , 即可完成编译操作 ;

> Executing task: C/C++: g++ 生成活动文件 <

正在启动生成...
/usr/bin/g++ -fdiagnostics-color=always -g /home/octopus/vscode/helloworld/*.cpp -o /home/octopus/vscode/helloworld/.vscode/tasks

生成已成功完成。

终端将被任务重用,按任意键关闭。

在这里插入图片描述

生成的可执行文件在 .vscode 目录下 , 名称是 task ;
使用 ./task 命令 , 执行该 task 可执行文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值