Visual Studio 2022 C++ 调用matplotlib-cpp 绘图

0 引言

  由于需要对C++代码中生成的数据绘图,C++本身对绘图支持的不够,自己对Python 也不熟悉,但由于有些源码提供的是Python代码,因此,对python也略了解一些,看懂相关代码问题不大,但如果把所有代码都由C++移植到Python,短时间内困难较大,之前在vc中用过matplotlib-cpp绘图,通过查阅相关资料也成功生成了需要的图,但间隔时间长了,这次又想用它来绘制图形,又得从头来一遍,耗时费力,因此,决定把整个过程记录下来,以便下次用到时更加顺利,如果对他人有所帮助,则深感欣慰,但如果由于每个人的需求不一样,不能满足您的需要,也请多指正。

1. 配置Python

1.1 安装Python和设置环境变量

  正如matplotlib-cpp介绍中说的,它只是封装了python中的matplotlib库,因此,在安装好python之后,还需要安装相应的库,python的安装比较简单,安装好后简单的设置一下环境变量,不同版本的支持可能会有不同,因此,这里为了后续的设置方便,设置好环境变量。我这里之前的3.9发现还在,现在又装了最新版本3.10,因此,设置PYTHON_HOME环境变量,如果后面要用到3.9版本,则只需要修改这处。

 Visual Studio 2022 C++ 调用matplotlib-cpp 绘图

接着在path中添加这个变量,注意和常见的jdk不同,该目录就包含了python.exe程序,因此,path中直接就添加如下变量即可。 Visual Studio 2022 C++ 调用matplotlib-cpp 绘图

 1.2 安装matplotlib库

  如前所述,matplotlib-cpp只是对matplotlib的封装,因此,还需要安装matplotlib库,虽然另一个扩展numpy,如果不能安装的话,在matplotlib-cpp的使用说明(“If, for some reason, you're unable to get a working installation of numpy on your system, you can define the macro WITHOUT_NUMPY before including the header file to erase this dependency. ”)中也说了可以通过定义宏WITHOUT_NUMPY 来忽略,但由于这个也经常用到,这里就一并安装了。

Win+R 输入 cmd:

Visual Studio 2022 C++ 调用matplotlib-cpp 绘图

Visual Studio 2022 C++ 调用matplotlib-cpp 绘图

 安装过程中,系统会自动下载相关依赖安装包。到这一步,之前的程序已经能运行并生成图形了。这里为了完整性,接下来对Visual Studio 2022中工程的配置也记录下来。

2. 配置Visual Studio 2022

   如matplotlib-cpp说明中指出,The C++-part of the library consists of the single header file matplotlibcpp.h which can be placed anywhere,因此,根据自己的项目目录设置,复制matplotlibcpp.h到相应的目录,并在需要用到的cpp中包含该文件。

Visual Studio 2022 C++ 调用matplotlib-cpp 绘图

接下来,需要在工程的属性配置中进行相应的设置。主要有这几个地方,VC++ Directories,以及Linker-->Input 设置库文件目录。如下图,

Visual Studio 2022 C++ 调用matplotlib-cpp 绘图

在Include Directories中,如前所述,为了在更换不同版本的python时可以不修改vc工程属性设置,前面已经设置好了相应的环境变量,这里只需添加如下内容

Visual Studio 2022 C++ 调用matplotlib-cpp 绘图

Library Directories 设置类似Include Directories

Visual Studio 2022 C++ 调用matplotlib-cpp 绘图

 接下来,在Linker--> Input 中, Additional Dependencies 进行如下设置

Visual Studio 2022 C++ 调用matplotlib-cpp 绘图

 至此,整个环境配置就基本结束,接下来就是如何用它绘图了,这里每个人可以根据自己的需求,结合相应的使用说明,可以简单的进行绘图操作了。

  之前在用这个库的时候,碰到Debug模式下,库的修改问题,这个等下次用到时再补充。

 

 

上一篇:关于python pip 安装提示Microsoft Visual C++ 14.0报错的解决方法


下一篇:TCP调试-16进制调试