Visual Studio部署matplotlib绘图库的C++版本
本文介绍在Visual Studio软件中配置、编译C++环境下matplotlibcpp库的详细方法。
matplotlibcpp库是一个C++环境下的绘图工具,其通过调用Python接口,实现在C++代码中通过matplotlib库的命令绘制各类图像。由于其需要调用Python接口,因此在配置matplotlibcpp库时有些较为麻烦的操作。本文就将matplotlibcpp库的具体配置方法进行详细介绍。
1 Git配置
Git是一个分布式开源版本控制系统,在后期我们需要基于其完成vcpkg包管理器的下载与安装,因此需要首先完成Git的配置;具体方法大家可以参考下载、安装Git并拷贝GitHub项目到本地的流程这篇文章。
2 vcpkg配置
vcpkg是一个开源的C++包管理器,在后期我们需要基于其完成matplotlibcpp库的下载与安装,因此需要首先完成vcpkg的配置。
首先,选定一个路径作为vcpkg的保存路径;随后,在这一文件夹下,按下Shift按钮并同时右击鼠标,选择“在此处打开Powershell窗口”。

随后,将弹出如下所示的窗口。

接下来,在其中输入如下的代码,并运行。
git clone https://github.com/microsoft/vcpkg
具体如下图所示。

稍等片刻,出现如下所示的界面,说明vcpkg安装完毕。

随后,输入如下代码,进入vcpkg保存路径。
cd vcpkg
再输入如下代码,激活vcpkg环境。
.\bootstrap-vcpkg.bat
具体如下图所示。

运行完毕后,将得到如下所示的结果。

接下来,再输入如下所示的代码,将vcpkg与我们的Visual Studio软件相连接。
.\vcpkg integrate install
具体如下图所示。

代码运行完毕后,如下图所示。

3 matplotlibcpp配置
接下来,我们即可开始进行matplotlibcpp库的配置。
3.1 matplotlibcpp安装
首先,依然在刚刚的界面中,输入如下代码,安装matplotlibcpp库。
.\vcpkg install matplotlib-cpp
代码运行结束后,得到如下所示的结果。

随后,输入如下所示的代码,安装64位的matplotlibcpp库。
.\vcpkg install matplotlib-cpp:x64-windows
运行代码后,得到如下所示的结果。

3.2 matplotlibcpp配置
首先,在刚刚配置的vcpkg的保存路径中,通过以下路径,找到matplotlibcpp.h文件,并将其打开。

随后,在其#include部分的最下方,添加如下代码。
#include <string>
具体如下图所示。

同时,在该文件340行左右,将template开头的两行注释掉,如下图所示。

4 Python配置
由于matplotlibcpp库是通过调用Python接口,实现在C++代码中通过matplotlib库的命令绘制各类图像,因此配置matplotlibcpp库时还需要保证电脑中拥有Python环境。而这里的Python环境也有一个具体的要求——需要具有Debug版本的Python。
因此,可以分为3种情况:第一种情况,是大家电脑中之前没有安装过任何Python环境;第二种情况,是大家之前有通过Anaconda下载Python环境;第三种情况,则是大家之前有通过Python官方下载Python环境。针对这三种情况该具体如何配置,我们也会在接下来的文章中具体提及。
首先,对于第二种情况,也就是之前有通过Anaconda下载Python环境的情况,大家从这里开始看就好。首先,需要看一下Anaconda中Python的版本;如下图所示,我这里就是在Anaconda中有3.9.12版本的Python。

其次,对于第一种情况,也就是之前没有安装过任何Python环境的情况,大家从这里开始看就好。我们在Python的官方下载地址中,下载最新的Python版本即可(如果是之前有通过Anaconda下载Python环境的情况,大家这里下载和自己Anaconda中Python版本不一样的版本即可。

随后,双击打开刚刚下载好的安装包。对于第三种情况,即大家之前有通过Python官方下载Python环境的情况,那么直接找到当初的安装包,然后进行如下的操作即可。
首先,选择“Customize installation”选项。

接下来的页面,选择默认的配置即可。

随后的页面,选中第一个方框中所包含的勾选项,并在其下方配置自定义安装路径;这个路径建议大家自己修改一下,同时记下来这个路径,之后会经常用到。

随后,依据文章Windows电脑环境变量(用户变量、系统变量)的修改提到的方法,首先将以下两个路径添加到环境变量中的用户变量的Path中。具体这两个路径的前缀,和大家前面所选的Python安装路径有关。

接下来,将这两个路径同样在环境变量的系统变量的Path中添加一下;此外,还要注意,如果大家的环境变量中,有原本的Python路径,大家最好将原本的路径放在我们新建的变量的下方,如下图所示。

此外,还需要在系统变量中,添加如下所示的两个内容;其中,“变量”一栏依次填写PYTHONHOME与PYTHONPATH,“值”一栏就是刚刚我们的Python安装路径。

随后,我们在计算机中进入Python环境,就默认进入我们刚刚配置的、新的Python环境;之后如果我们需要正常使用Python了,可以用我们这次配置的新的Python;也可以将刚刚配置的PYTHONHOME与PYTHONPATH两个系统变量删除,并将原有Python所对应的环境变量提前到刚刚配置好的Python的环境变量之前,从而使用我们原先版本的Python。
接下来,我们需要对新创建的Python进行matplotlib库与numpy库的安装。这里就使用Python最传统的pip安装方法即可,首先输入如下的代码。
pip install -U matplotlib
出现如下所示的界面即说明matplotlib库已经安装完毕。

随后,输入如下所示的代码。
pip install numpy scipy matplotlib
即可完成numpy库的安装。
5 解决方案配置
接下来,我们创建或打开需要调用matplotlibcpp库的解决方案。
首先,将前述Python安装路径下的以下两个.dll文件复制(具体文件名称与Python版本有关)。

并将其复制到解决方案的文件夹下。

随后,依据文章如何在Visual Studio新C++项目中调用之前配置过的库?中提到的方法,分别进行以下配置。
首先,在“附加包含目录”中,将Python和numpy库的include文件夹放入其中。

其次,在“附加库目录”中,将Python安装路径下libs文件夹的路径放入其中。

再次,在“附加依赖项”中,将Python安装路径下libs文件夹中如下所示的4个.lib文件放入其中。

随后,对于需要调用matplotlibcpp库的程序,需要添加以下代码。
#include "matplotlibcpp.h"
namespace plt = matplotlibcpp;
具体如下图所示。

随后,即可开始运行代码。这里提供一个最简单的matplotlibcpp库调用代码。
#include "matplotlibcpp.h"
namespace plt = matplotlibcpp;
int main() {
plt::plot({ 1, 2, 3, 4 });
plt::show();
return 0;
}
运行代码,出现如下所示的窗口。

以上,即完成了matplotlibcpp库的配置。
Visual Studio部署matplotlib绘图库的C++版本的更多相关文章
- 使用 Python 的 matplotlib 绘图库进行绘图
matplotlib 是 Python 最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 1 使用 Ma ...
- Visual Studio 2022 不支持 .NET Framework 老版本 项目解决办法
Visual Studio 2022 不支持 .NET Framework老版本 (4.5) 项目解决办法 新电脑安装的是Visual Studio 2022,打开老项目的时候发现没有.net fra ...
- Python图表绘制:matplotlib绘图库入门
matplotlib 是Python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备,并 ...
- Python图表绘制:matplotlib绘图库入门(转)
matplotlib 是Python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备,并 ...
- Python Matplotlib绘图库 安装
一般我们在做科学计算的时候,首先会想到的是matlab,但是呢,一想到matlab安装包那么大,我就有点不想说什么了. Matplotlib 是python最著名的绘图库,它提供了一整套和matlab ...
- 使用 Visual Studio 部署 .NET Core 应用 ——ASP.NET Core 发布的具体操作
ASP.NET Core 发布的具体操作 下面使用C# 编写的ASP.NET Core Web项目示例说明发布的全过程. 1.创建项目 选择“文件” > “新建” > “项目”. 在“添加 ...
- 使用 Visual Studio 部署 .NET Core 应用
可将 .NET Core 应用程序部署为依赖框架的部署或独立部署,前者包含应用程序二进制文件,但依赖目标系统上存在的 .NET Core,而后者同时包含应用程序和 .NET Core 二进制文件. 有 ...
- Visual Studio 设置背景图片主题(所有版本设置方法)
前言 效果预览: 目录 扩展安装 图片背景设置 主题透明并扩展到 IDE 内容 扩展安装 ClaudiaIDE 扩展下载 我们打开VS的扩展安装界面:[扩展]->[管理扩展]->[联机], ...
- 使用 Visual Studio 部署 .NET Core 应用 ——.Net Core 部署到Ubuntu 16.04
.Net Core 部署到Ubuntu 16.04 中的步骤 1.安装工具 1.apache 2..Net Core(dotnet-sdk-2.0) 3.Supervisor(进程管理工具,目的是服务 ...
- Matplotlib绘图库入门(七):高效使用
原文地址: !()[http://www.bugingcode.com/blog/Matplotlib_7_Effectively_Using.html] 这是一篇关于如何高效的使用Matplotli ...
随机推荐
- P1765
和那道题一样,这次用的getchar,结果对了可是洛谷评测WA了,换成scanf单个字符,结果还是WA了,换成直接getline读入整个字符串就对了. 可见读入单个字符的方式有可能出现各种小错,尤其是 ...
- Redis 集群模式搭建
本文为博主原创,未经允许不得转载: 目录: 1. 哨兵模式与集群模式对比 2. Redis 集群架构搭建 3. 集群原理分析 4. 集群元数据维护方式对比 5. redis 分布式寻址 6. 集群选举 ...
- 基于React开发的chatgpt网页版(仿chatgpt)
在浏览github的时候发现了一个好玩的项目本项目,是github大神Yidadaa开发的chatgpt网页版,该开源项目是跨平台的,Web / PWA / Linux / Win / MacOS都可 ...
- [转帖]浪潮PM8222-SHBA、RAID 2GB PM8204、RAID 4GB PM8204,阵列卡配置方法
1.8222和8204对比 这几个型号的阵列卡都很相似,配置方法也基本一样 8204就是在8222上的基础上增加了缓存,可以通过下图对比 正面8204比8222多一个掉电保护接口 8204背面多了几个 ...
- Grub2 内核启动参数总结
Grub2 内核启动参数总结 部分参数 biosdevname=0 net.ifnames=0 # 注意这个配置会修改网卡的名字, 比如之前是ens192 # 添加如上两个内容后就会变成 eth0 类 ...
- linux获取文件或者是进程精确时间的方法
linux获取文件或者是进程精确时间的方法 背景 很多时候需要精确知道文件的具体时间. 也需要知道进程的开始的精确时间. 便于进行一些计算的处理. 其实linux里面有很多方式进行文件属性的查看. 这 ...
- [转帖]ext4的fsync性能和nodelalloc参数的分析
原文:http://blog.thinksrc.com/?p=189001 感叹归感叹,发泄完了还得继续过. 前几天忙的不可开交,周报上面竟然能列出11项,想想以前在T公司时候的清闲,现在的老板的真幸 ...
- [转帖]Prometheus 都可以采集那些指标?-- 常用 Exporter 合集
Prometheus 可以通过各种 Exporter 来获取很多指标,并且只要符合 Prometheus 规范的都可以获取到,本文汇总一些常用的采集器到这里. Prometheus Exporter ...
- [转帖]拜托!面试请不要再问我Spring Cloud底层原理
https://www.cnblogs.com/jajian/p/9973555.html 概述# 毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术.不过大 ...
- [转帖]华为毕昇 JDK 8u292、11.0.11 发布!
https://baijiahao.baidu.com/s?id=1705499834793298544&wfr=spider&for=pc 2021 年 6 月 30 日,毕昇 JD ...