Visual Studio配置C++绘图库matplotlibcpp

  本文介绍在Visual Studio软件中配置、编译C++环境下matplotlibcpp库的详细方法。

  matplotlibcpp库是一个C++环境下的绘图工具,其通过调用Python接口,实现在C++代码中通过matplotlib库的命令绘制各类图像。由于其需要调用Python接口,因此在配置matplotlibcpp库时有些较为麻烦的操作。本文就将matplotlibcpp库的具体配置方法进行详细介绍。

1 Git配置

  Git是一个分布式开源版本控制系统,在后期我们需要基于其完成vcpkg包管理器的下载与安装,因此需要首先完成Git的配置;具体方法大家可以参考Git的下载、安装与GitHub项目代码复制的方法https://www.jianshu.com/p/2422e224a5e8)这篇文章。

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环境的情况,大家从这里开始看就好。首先,需要看一下AnacondaPython的版本;如下图所示,我这里就是在Anaconda中有3.9.12版本的Python

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

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

  首先,选择“Customize installation”选项。

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

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

  随后,依据文章Windows 10用户变量、系统变量等环境变量新建、编辑修改与删除的方法https://www.jianshu.com/p/1810d3dea4d3)提到的方法,首先将以下两个路径添加到环境变量中的用户变量Path中。具体这两个路径的前缀,和大家前面所选的Python安装路径有关。

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

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

  随后,我们在计算机中进入Python环境,就默认进入我们刚刚配置的、新的Python环境;之后如果我们需要正常使用Python了,可以用我们这次配置的新的Python;也可以将刚刚配置的PYTHONHOMEPYTHONPATH两个系统变量删除,并将原有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调用环境配置完毕的第三方库的方法https://www.jianshu.com/p/ec307cf18828)中提到的方法,分别进行以下配置。

  首先,在“附加包含目录”中,将Pythonnumpy库的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库的配置。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,701评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,649评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,037评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,994评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,018评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,796评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,481评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,370评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,868评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,014评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,153评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,832评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,494评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,039评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,437评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,131评论 2 356

推荐阅读更多精彩内容