ubuntu下在vscode中配置matplotlibcpp

news2024/9/22 21:30:46

ubuntu下在vscode中配置matplotlibcpp

系统:ubuntu
IDE:vscode
库:matplotlib-cpp

matplotlibcpp.h文件可以此网址下载:https://github.com/lava/matplotlib-cpp

下载的压缩包中有该头文件,以及若干实例程序。

参考:

https://blog.csdn.net/weixin_43455581/article/details/127311779

https://blog.csdn.net/lcjsddddd/article/details/132230412

下面从头演示配置过程:

1.新建文件夹和源文件

在主目录中新建文件夹NewFolder,文件夹中新建一个.cpp文件test.cpp

新建文件

以压缩包中最简单的程序为例

#include "matplotlibcpp.h"
namespace plt = matplotlibcpp;
int main() {
    plt::plot({1,3,2,4});
    plt::show();
}

2.配置json文件

2.1. c_cpp_properties.json

ctrl+shift+P,输入“c/c++”,选择C/C++:编辑配置(JSON)

JSON1

点击会自动打开c_cpp_properties.json文件,同时可以发现左侧(默认)资源管理器中新建了.vscode文件夹,c_cpp_properties.json文件就在这个文件夹中。

c_cpp_properties.json打开后包含下面语句。

c_cpp_properties.json

下面在includePath中分别添加matplotlibcpp.h的路径、Python.h的路径和Numpy的路径。

"includePath": [
                "${workspaceFolder}/**",
                "/home/lvh/matplotlib-cpp",
                "/usr/include/python3.8",
                "/usr/lib/python3/dist-packages/numpy/core/include/numpy"
            ],

c_cpp_properties.json

2.2.task.json

点击右上角的齿轮图标,添加调试配置。我这里选了c++9。

添加调试配置

点击后,.vscode中会生成task.jsonlaunch.json两个文件。

我们需要修改task.json文件。生成时,task.json包含以下代码:

原task.json

我们需要在args中添加

"-I",
"/usr/include/python3.8",
"-I",
"/home/lvh/matplotlib-cpp",
"-I",
"/usr/lib/python3/dist-packages/numpy/core/include/numpy",
"-l","python3.8",
"-std=c++11"

task.json

3.调试/运行

右上角点击调试或运行,可以进行画图,没有报错。

matplotlib画图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1527226.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

钡铼R40工业路由器在果园智能化生产管理系统中的重要角色

在现代果园智能化生产管理系统中,钡铼R40工业路由器扮演着至关重要的角色。它作为物联网技术的核心组件,将果园的智能化管理推向了一个全新的高度,实现了对果园环境、果树生长状况以及各类生产设备的实时监控与精准调控。 首先,钡…

Apache Dolphinscheduler - 无需重启 Master-Server 停止疯狂刷日志解决方案

记录的是一个 3.0 比较难搞的问题,相信不少使用过 3.0 的用户都遇到过 Master 服务中存在一些工作流或者任务流一直不停的死循环的问题,导致疯狂刷日志。不过本人到现在也没找到最关键的触发原因,只是看到一些连锁反应带来的结果…… 影响因素…

内网穿透的应用-如何使用Docker安装DockerUI可视化管理工具无公网IP远程访问

文章目录 前言1. 安装部署DockerUI2. 安装cpolar内网穿透3. 配置DockerUI公网访问地址4. 公网远程访问DockerUI5. 固定DockerUI公网地址 前言 DockerUI是一个docker容器镜像的可视化图形化管理工具。DockerUI可以用来轻松构建、管理和维护docker环境。它是完全开源且免费的。基…

glib交叉编译

Glib交叉编译 逸一时,误一世。 —— 田所浩二「夏夜银梦」 交叉编译 GLib 涉及到在一个平台上生成能够在另一个平台上运行的目标文件。在这种情况下,我们将会在一台主机(通常是开发机器)上使用交叉编译工具链来构建 GLib 库&#…

RabbitMQ在Java中使用 SpringBoot 从基础到高级

充分利用每一个监听者 需要充分利用每一个消费者,需要在配置文件中加上prefetch配置并设置为1 rabbitmq:listener:simple:prefetch: 1 # 每次只能获取一条消息,处理完成才能获取下一个消息创建交换机和队列 创建队列 "fanout.queue1"&…

RK3588_Qt交叉编译环境搭建

buildroot编译 进入 /home/linux/plat/rk3588/sdk/buildroot 目录下,执行 Source ./envsetup.sh 选择具体平台编译,后再执行make编译 /home/linux/plat/rk3588/sdk/buildroot/output/OK3568/images 生成的rootfs.ext2镜像重新烧写到rk3568开发板中&…

计算地球圆盘负荷产生的位移

1.研究背景 计算受表面载荷影响的弹性体变形问题有着悠久的历史,涉及到许多著名的数学家和物理学家(Boussinesq 1885;Lamb 1901;Love 1911,1929;Shida 1912;Terazawa 1916;Munk &…

22款Visual Studio Code实用插件推荐

前言 Visual Studio Code是一个轻量级但功能强大的源代码编辑器,轻量级指的是下载下来的Visual Studio Code其实就是一个简单的编辑器,强大指的是支持多种语言的环境插件拓展,也正是因为这种支持插件式安装环境开发让Visual Studio Code成为…

计算机二级C语言的注意事项及相应真题-5-程序设计

目录 41.计算下列级数和,和值由函数值返回42.统计出x所指数组中能被e整除的所有元素,这些元素的和通过函数值返回主函数,元素个数通过形参num返回主函数43.使数组右上三角元素中的值乘以m44.将a、b中的两个两位正整数合并形成一个新的整数放在…

3.18数据结构

一、数据结构----->用来组织存储数据 一组用来保存一种或多种特定关系的数据的集合(组织和存储数据) 程序 数据结构 算法 MVC:软件设计架构 M:数据的管理(数据结构) V:视图&#xff0c…

SQLiteC/C++接口详细介绍之sqlite3类(十八)

返回目录:SQLite—免费开源数据库系列文章目录 上一篇:SQLiteC/C接口详细介绍之sqlite3类(十七) 下一篇:SQLiteC/C接口详细介绍sqlite3_stmt类(一) ​ 56.sqlite3_update_hook 函数功能&am…

【边缘智能】Jetson板卡上安装QT5与OpenCV集成

学习《OpenCV应用开发:入门、进阶与工程化实践》一书 做真正的OpenCV开发者,从入门到入职,一步到位! 安装QT5与QT Creator 如果只是简单的使用QT的GUI库,没有其它要求,其实特别容易,一行命令行…

计算机视觉之三维重建(1)---摄像机几何

文章目录 一、针孔模型和透镜1.1 针孔摄像机1.2 近轴折射模型1.3 透镜问题 二、摄像机几何2.1 像平面和像素平面2.2 齐次坐标下的投影变换2.3 摄像机倾斜2.4 规范化摄像机2.5 世界坐标系2.6 Faugeras定理2.7 投影变换性质: 三、其他投影摄像机模型3.1 弱透视投影摄像…

php版本的AI电话机器人系统有哪些优势

PHP版本的AI电话机器人系统具有以下优势: 提升客户体验:AI电话机器人能够为客户提供724小时的服务,无论何时客户有疑问或需要帮助,都可以得到及时响应1。 提高工作效率和客户满意度:AI电话机器人系统具有智能回答问题…

oracle创建序列

oracle创建序列 oracle创建序列00-查看当前用户创建的序列01-创建序列02-创建序列方法二03-序列使用04-删除序列 oracle创建序列 00-查看当前用户创建的序列 SELECT * FROM user_sequences;01-创建序列 --01-创建序列 /* 语法: CREATE SEQUENCE 序列名称 START W…

python知识点总结(四)

这里写目录标题 1、Django 中的缓存是怎么用的?2、现有2元、3元、5元共三种面额的货币,如果需要找零99元,一共有多少种找零的方式?3、代码执行结果4、下面的代码执行结果为:5、说一下Python中变量的作用域。6、闭包7、python2与p…

Hive:数据仓库利器

1. 简介 Hive是一个基于Hadoop的开源数据仓库工具,可以用来存储、查询和分析大规模数据。Hive使用SQL-like的HiveQL语言来查询数据,并将其结果存储在Hadoop的文件系统中。 2. 基本概念 介绍 Hive 的核心概念,例如表、分区、桶、HQL 等。 …

深入浅出Go的`encoding/xml`库:实战开发指南

深入浅出Go的encoding/xml库:实战开发指南 引言基本概念XML简介Go语言中的XML处理结构体标签(Struct Tags) 解析XML数据使用xml.Unmarshal解析XML结构体标签详解处理常见解析问题 生成XML数据使用xml.Marshal生成XML使用xml.MarshalIndent优化…

服务器中了mallox勒索病毒还能恢复数据吗?

什么是mallox勒索病毒? mallox是一种最近多发的勒索病毒类型,它主要针对企业的Web应用和数据库服务器进行攻击。mallox后缀的勒索病毒会加密用户的重要文件数据并以此为要挟索要赎金。该类病毒会绕过企业的防火墙和各种防护软件,对目标设备进…

带你深入了解数据库的事务

为什么要使用事务 日常开发中,很多操作,不是通过一个SQL就能完成的,往往需要多个SQL配合完成 当执行多个SQL操作的时候,如果中间出现了特殊的情况(程序崩溃,系统奔溃,网络断开,主机…