Windows + vs2017 + matplotlib-cpp踩坑实录

hello,大家好!我是coding老马,大海捞针,从未失手!  今天诸事顺利,记录一下vs2017调用matplotlib可视化绘图神器出现的问题。过程完整,希望可以给需要的小伙伴一些帮助。

科目:vs2017 调用matplotlib-cpp可视化绘图

内容:matplotlib-cpp编译  +  vs2017配置,完成调用

目的:通过本次讲解,使兄弟们完成vs2017+matplotlib的工程应用配置,实现在C++环境中调用python绘图神器matplotlib,实现可视化绘图。

时间:15分钟

方法:理论讲解,图片截图,(录播视频正在考虑中)

要求:

        1.认真阅读理论讲解

        2.参照讲解步骤,加强实践操作

        3.理论+实践,注意总结分享,C++这波调用,可视化绘图,真香! 

以上要求,希望同学们可以做到!

主要参考文章:1. 五分钟学会C++高效图表绘制神器调用 - 云+社区 - 腾讯云 (tencent.com)

                         2. c++调用matplotlib(一) - 芒果的博客 - 芒果的个人博客 (mangoroom.cn)

                         3. it could not find or load the Qt platform plugin

如果顺利的话,看完第一个就可以打完收工了。有问题的话,可以继续看下去。

在我尝试的过程中,出现了五个问题,最终解决了五个问题。步骤及解决问题的方法如下:

1. 下载文件,地址:vs2017-matplotlib-cpp: vs2017 调用matplotlib-cpp实现C++中可视化绘图 (gitee.com)

目录结构如下:

 在contrib文件夹中打开WinBuild.cmd文件,修改4-8行的内容符合你的计算机环境,我的修改信息如下:

//修改为自己的计算机环境
REM ------Set Your Environment------------------------------- 
if NOT DEFINED MSVC_VERSION set MSVC_VERSION=15
if NOT DEFINED CMAKE_CONFIG set CMAKE_CONFIG=Release
if NOT DEFINED PYTHONHOME   set PYTHONHOME=D:\pack_installer\anaconda_3  
REM ----------------------------------------------------------

15表示vs2017,(vs2015应该是14,vs2019应该是17),release版本(此处不支持debug版本),PYTHONHOME=D:\pack_installer\anaconda_3为我的Anacondad安装路径

然后在windows命令行窗口运行如下:

回车运行,报错问题1:

 缺少CmakeList文件解决办法:将主目录下的CMakeLists.txt拷贝到contrib文件夹中。继续重新运行。

补充Nronaldo同学的评论内容:如果编译过程中出现C++环境的问题,可尝试在CMakeLists.txt中将cxx_std_11改为cxx_std_17,或者在vs2017中修改为C++17(根据错误,自行尝试)

继续报错,问题2:

  缺少matplotlib_cppConfig.cmake.in(在主目录cmake文件夹中)文件,解决办法:将主目录下的cmake文件夹拷贝到contrib文件夹中。继续重新运行。

继续报错,问题3:

 缺少一大堆.cpp文件,报错原因:下载的文件中的路径有问题解决办法:打开contrib文件夹下的CmakeList.txt文件 找到下面的内容,修改路径

//修改前
add_executable(fill_inbetween examples/fill_inbetween.cpp)  

//修改后      多加了 ../
add_executable(fill_inbetween ../examples/fill_inbetween.cpp)

//下面的都要改,好像是 16 个

继续运行,该问题解决,报错问题4:

 解决办法:打开主目录下的matplotlibcpp.h文件,屏蔽两行代码即可(大概第354,356行)

 继续重新运行,开始编译,过程复杂看不懂,但是ok了。

 在主目录的examples\build\bin\release\文件夹下生成.exe文件

 至此,编译完成。(可以重新运行一遍,这样界面看起来比较舒服舒服了,也可不运行)

这看起来就舒服太多了。编译部分打完收工。

vs2017配置调用环境(和opencv的配置步骤一样)

1. 配置包含路径()

我这里PYTHONHOME设置路径为Anaconda的安装路径

下方的包含目录设置为Anaconda其中一个python环境的路径(我的Anaconda下有三个python环境包,其它的想的话,可以自己试一试)

2.  配置库目录

3. 配置 链接器

 配置好之后,新建VS2017工程,用代码测试

#include "matplotlibcpp.h"
namespace plt = matplotlibcpp;

int main() {
	plt::plot({ 1,3,2,4 });
	plt::show();
}

继续报错,问题5:

出错原因:WinBuild.cmd中python环境路径和计算机环境变量中的路径不一致,(Anaconda的安装路径,不能是其中某个环境环境的路径,否则,开始Anaconda Prompt可能打不开)

解决办法:添加系统路径:PYTHONHOME

继续运行代码,问题5解决, 报错问题6:

 解决办法:添加环境变量

matplotlib-cpp配置,Windows出错官网原因说明如下

 出错原因:没有qt支撑,解决办法:将你PYTHONHOME路径下的\Library\plugins\ 下的 platforms 文件夹复制到vs2017工程文件的x64/release/文件夹(与.exe文件同目录),最终解决问题。D:\pack_installer\anaconda_3\Library\plugins\platforms

重新运行代码,一切🆗。结果如下:

 不知道为啥,我的笔记本电脑上报错问题比较多,以上为我的踩坑记录,希望对小伙伴们有用。这篇博客写的有点烂,(不太会写),正在考虑出视频,请小伙伴们关注。

安装过程中如若出现问题,欢迎各位小伙伴留言!

夜深了,兄弟们睡好!

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谁是马小帅?

致力于coding 代码的小兵

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值