2024最新版:C++用Vcpkg搭配VS2022安装matplotlib-cpp库

matplotlib-cpp是一个用于在C++中使用matplotlib绘图库的头文件库。它提供了一个简单的接口,使得在C++中创建和显示图形变得更加容易。这个库的灵感来自于Python的matplotlib库,它使得在C++中进行数据可视化变得更加便捷。

matplotlib-cpp允许在C++中使用类似Python中matplotlib的语法和功能来创建各种类型的图形,包括折线图、散点图、柱状图等。你可以使用它来可视化数据,分析模拟结果,或者创建漂亮的图形报告。

由于matplotlib-cpp是一个只含头文件的库,因此直接从github下载matplotlib-cpp的头文件就可以直接用了。

或者可以用vcpkg下载并安装matplotlib-cpp,其实两种方式都差不多,都是把这个头文件下载下来就可以了。

我就用vcpkg来下载吧。

到vcpkg的默认安装目录下就可以看到matplotlibcpp.h的头文件了。

打开VS2022创建一个C++控制台项目,然后导入头文件和库文件,由于matplotlib-cpp需要python的库文件和头文件所以需要安装python。

下面是分别要导入的头文件和库文件,把路径改为你的安装路径就可以了,下面这个vcpkg的include路径下面装的就是matplotlib-cpp.h头文件,换成你的头文件所在路径就可以了,因为matplotlib-cpp是一个只含头文件的库,没有链接库文件。

D:\c.app\Python3.9.0\include
D:\c.app\vcpkg\installed\x64-windows\include
D:\c.app\Python3.9.0\Lib\site-packages\numpy\core\include
D:\c.app\Python3.9.0\libs

 博主的python和vcpkg都安装在D盘,所以可以比较轻松找到对应的头文件和库文件。

把这段代码复制到cpp文件中,然后运行代码。

#include <matplotlibcpp.h>
namespace plt = matplotlibcpp;

int main() {
    std::vector<double> x = { 1, 2, 3, 4, 5 };
    std::vector<double> y = { 2, 4, 6, 8, 10 };

    plt::plot(x, y);
    plt::xlabel("X");
    plt::ylabel("Y");
    plt::title("Simple Plot");
    plt::show();

    return 0;
}

然后就报错了。 

错误一

1>D:\c.app\vcpkg\installed\x64-windows\include\matplotlibcpp.h(2014,85): error C2039: "stod": 不是 "std" 的成员
1>D:\c.app\vcpkg\installed\x64-windows\include\matplotlibcpp.h(2014,85): error C3861: “stod”: 找不到标识符

这个错误需要在matplotlib-cpp.h里面加入string头文件才可以。

错误二

1>D:\c.app\vcpkg\installed\x64-windows\include\matplotlibcpp.h(340,20): error C2766: 显式专用化;已定义“matplotlibcpp::detail::select_npy_type<int64_t>”
1>D:\c.app\vcpkg\installed\x64-windows\include\matplotlibcpp.h(342,20): error C2766: 显式专用化;已定义“matplotlibcpp::detail::select_npy_type<uint64_t>”

 这个错误需要将对应位置的重定义代码注释掉

然后保存matplotlib-cpp.h文件。

运行代码,发现运行成功。

除此之外,你们可能还会遇到一个问题

LINK : fatal error LNK1104: 无法打开文件“python39_d.lib”

 这个问题主要是因为你的python版本是Release版本的,而不是Debug版本的,python39_d.lib是Debug版本的python专属的链接库文件,那么只需要把VS2022的模式改为Release版就行了。

改为Release版本后,前面的头文件和库文件需要重新导入一次哦!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【R语言】数据可视化分析和统计检验——线性和线性混合效应模型

R语言数据可视化分析和统计检验 写在前面1、数据读取及分析2、组间均值和标准差统计分析3、图像数据探索3.1 图像绘制&#xff08;查看是否存在极端数据&#xff0c;以及数据分布情况&#xff09;3. 2 数据标准化&#xff08;Z-scores&#xff09;3.3 绘制数据相关性 4、ggplot…

杭州电子科技大学2024年成人高等继续教育招生简章

杭州电子科技大学&#xff0c;作为一所享有盛誉的高等学府&#xff0c;始终致力于为社会培养优秀的人才。2024年&#xff0c;学校敞开大门&#xff0c;为广大有志于进一步提升自身学识与技能的成年人提供了难得的机会——成人高等教育招生。 此次招生不仅彰显了杭州电子科技大…

轻量级的数据交换格式JSON (JavaScript Object Notation)介绍

什么是JSON&#xff1f; JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式&#xff0c;它属于JavaScript的一个子集&#xff0c;采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 JSON具有易读性&…

FFmpeg+ZLMediaKit 超低延时推流

FFmpeg超低延时推流命令 ffmpeg -rtbufsize 4M -i rtsp://admin:abcd1234192.168.2.162:554/h264/ch1/main/av_stream \-c:v libx264 -preset ultrafast -tune zerolatency -x264-params keyint30:min-keyint30:scenecut0 -g 30 \-c:a aac -b:a 128k -ar 44100 -ac 2 -strict …

微型导轨的摩擦系数分析!

微型导轨的摩擦力主要包括滑动摩擦力和滚动摩擦力&#xff0c;摩擦系数是一个关键参数&#xff0c;它决定了滑块在导轨上运动时所受到的摩擦力大小&#xff0c;摩擦系数越低&#xff0c;系统的运动效率和精度就越高&#xff0c;而微型导轨的摩擦系数是受多个因素影响的。 微型导…

【PL理论】(33) 类型系统:推导树证明 φ ⊢ e∶t | 继续定义关系:γ ⊢ e∶t

&#x1f4ac; 写在前面&#xff1a;本章我们将讲解推导树证明&#xff0c;推导树实际上就是推理规则的应用。只要学会如何选择并应用适当的推理规则&#xff0c;证明就不是难事了。 目录 0x00 推导树证明 &#x1d753; ⊢ &#x1d486; ∶ &#x1d495; 0x01 继续定义关…

振动分析-5-基于CNN的机械故障诊断方法

参考基于CNN的机械故障诊断方法 CNN之图像识别 预训练模型迁移学习&#xff08;Transfer Learning&#xff09; 基于卷积神经网络&#xff08;CNN&#xff09;的深度迁移学习在声发射&#xff08;AE&#xff09;监测螺栓连接状况的应用 参考基于CNN的机械故障诊断所面临的困难和…

护眼指南:精选适合学生写作业的台灯推荐

当前&#xff0c;近视问题在人群中愈发普遍&#xff0c;据2024年的统计数据显示&#xff0c;我国儿童青少年的总体近视率已高达52.7%。在繁重的学业压力下&#xff0c;学生的视力健康日益受到关注,近视背后潜藏着诸多眼部并发症的风险&#xff0c;包括但不限于视网膜脱离、视网…

ATFX汇市:英国5月核心CPI年率下降0.4百分点,GBPUSD不跌反涨

ATFX汇市&#xff1a;据英国统计局数据&#xff0c;英国5月核心CPI年率为3.5%&#xff0c;低于前值3.9%&#xff1b;英国5月名义CPI年率为2%&#xff0c;低于前值2.3%。核心CPI年率和名义CPI年率相比前值分别下降0.4个百分点和0.3百分点&#xff0c;意味着英国的通胀率仍处于快…

Nidhogg:一款专为红队设计的多功能Rootkit

关于Nidhogg Nidhogg是一款专为红队设计的多功能Rootkit&#xff0c;该工具的主要目的是为红队研究人员提供一个多合一的切易于使用的多功能Rootkit&#xff0c;并允许研究人员通过单个头文件来将其引入到自己的C2框架之中。 当前版本的Nidhogg支持任意版本的x64 Windows 10和…

Monaco Editor系列(八)插入自定义DOM、删除指定位置的单词、给特定单词着色

前言&#xff1a;人都不知道自己是谁&#xff0c;所以想让自己成为什么样的人&#xff0c;就多给自己说什么样的话。我爱学习&#xff01;学习使我快乐&#xff01;回顾一下上一篇文章的内容。还记得 Monaco Editor 的三个命名空间吗&#xff1f;分别是 editor、languages、wor…

不是所有洗碗机都能空气除菌 友嘉灵晶空气除菌洗碗机评测

精致的三餐让你以为生活是“享受”&#xff0c;可饭后那些油腻的锅碗瓢盆却成了你我美好生活的最大障碍。想要只吃美食不洗碗&#xff0c;那一台优秀的洗碗机就必不可少了&#xff01;今天&#xff0c;ZOL中关村在线要评测的就是这样一台不光洗得干净更能有效除菌抑菌的洗碗机—…

数据虚拟化、Data Fabric(数据编织)的兴起,对数据管理有何帮助?

数字化时代&#xff0c;虚拟化&#xff08;Virtualization&#xff09;并不是一个很陌生的词汇&#xff0c;它是现代数据中心资源管理的核心技术之一&#xff0c;是对 IT 资源&#xff08;如服务器、存储设备、网络设备等&#xff09;的抽象&#xff0c;通过屏蔽 IT 资源的物理…

2024年城市规划与创新管理国际会议(UPIM 2024)

2024年城市规划与创新管理国际会议&#xff08;UPIM 2024&#xff09; 2024 International Conference on Urban Planning and Innovation Management 【重要信息】 大会地点&#xff1a;苏州 大会官网&#xff1a;http://www.icupim.com 投稿邮箱&#xff1a;icupimsub-conf.c…

打击帮信罪掩隐罪的全渠道交易反欺诈解决方案

结合多年对抗黑灰产的实践经验&#xff0c;芯盾时代利用自主研发的智能风控决策平台&#xff08;IRD&#xff09;、账户风险监测系统&#xff08;ARM&#xff09;、终端威胁态势感知&#xff08;MTD&#xff09;、智能终端密码模块&#xff08;PMIT&#xff09;、设备指纹等产品…

没有 ADetailer,ComfyUI 画图脸崩了怎么办?

我们都知道 SD 的 WebUI 中的面部修复神器是 ADetailer&#xff0c;不过它是 WebUI 的专属插件&#xff0c;在 ComfyUI 中是搜索不到这个插件的&#xff0c;但是并不代表 ComfyUI 就不能使用面部修复功能了&#xff0c;ComfyUI 中也是可以找到平替的。 今天我们就来讲讲在 Com…

爆赞!24年GitHub首本Python开发实战背记手册,标星果然百万名不虚传

Python (发音:[ paiθ(ə) n; (US) paiθɔn ] n. 蟒蛇&#xff0c;巨蛇 )&#xff0c;是一种面向对象的解释性的计算机程序设计语言&#xff0c;也是一种功能强大而完善的通用型语言&#xff0c;已经具有十多年的发展历史&#xff0c;成熟且稳定。Python 具有脚本语言中最丰富…

COGNEX康耐视 INsight Micro系列视觉系统安装手测

COGNEX康耐视 INsight Micro系列视觉系统安装手测

全新剧场app的独特功能

全新剧场App通过引入一系列独特功能&#xff0c;旨在提升用户体验、增加用户粘性并拓宽市场范围。以下是对这些功能的详细分析&#xff1a; 1、虚拟剧场导览&#xff1a; 功能概述&#xff1a;利用增强现实技术&#xff0c;为用户提供虚拟剧场导览体验。用户可以在App中启动这…

从“野人饭”走红,探索品牌户外化营销趋势丨小红书内容分析

wildeat&#xff0c;户外是人的天性的回归 近来&#xff0c;“wildeat&#xff08;户外野吃&#xff09;”的风潮在小红书逐渐兴起。越来越多的人选择到户外吃一顿&#xff0c;做一次“野人”&#xff0c;主打一个只要氛围到了&#xff0c;就地开饭&#xff0c;不愁吃什么&…