vscode C++ 项目中使用 matplotlib

1. 说明


在 C++ 项目中直接绘制结果向量的图像不是很方便,往往需要图形界面框架。github 项目 matplotlib-cpp 能够实现在 C++  项目中调用 python 的 matplotlib 绘图库。

2. 过程

2.1 安装 python、numpy 和 matplotlib(注意安装debug模块,和版本对应
2.2 安装 vcpkg 包管理器(注意关闭杀毒软件,避免生成不了exe文件
在想要安装的路径下打开 window terminal,执行

git clone https://github.com/microsoft/vcpkg
cd vcpkg
.\bootstrap-vcpkg.bat
.\vcpkg integrate install


执行完毕后,vcpkg 就被集成到了 VS2019 中。

2.3 安装 matplotlib-cpp(注意对应版本,是64位还是32位。网路条件要好安装power7.2.5和7z

.\vcpkg install matplotlib-cpp
.\vcpkg install matplotlib-cpp:x64-windows

3.配置vs codes

使用vs2019编译各种错误,最后放弃。转为使用Cmake+vscode编译成功了,下面是CMakeLists.txt文件

cmake_minimum_required(VERSION 3.7)
project (MatplotlibCPP_Test)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

include_directories(C:/Users/N014600001792/AppData/Local/Programs/Python/Python310/include)
include_directories(C:/Users/N014600001792/AppData/Local/Programs/Python/Python310/Lib/site-packages/numpy/core/include)

link_directories(C:/Users/N014600001792/AppData/Local/Programs/Python/Python310/libs)

add_definitions(-DMATPLOTLIBCPP_PYTHON_HEADER=Python.h)
add_executable(minimal ${CMAKE_CURRENT_SOURCE_DIR}/examples/minimal.cpp)

target_link_libraries(minimal _tkinter.lib)
target_link_libraries(minimal python3.lib)
target_link_libraries(minimal python3_d.lib)
target_link_libraries(minimal python310.lib)
target_link_libraries(minimal python310_d.lib)


4. 配置 VS2019


3.1 添加附加包含目录
打开项目 --> 属性。

在 C++ --> 常规 中添加本地 python 的 include 文件夹路径和 numpy 的 include 路径。


3.2 添加附加库目录
在 链接器 --> 常规 中添加 python libs 路径。


3.3 input
在 链接器 --> 输入 中添加 python 的 lib 文件。


3.4 修改 matplotcpp.h 文件
打开 matplotlib-cpp.h 文件,在头文件中添加 `include <string>`。不然会报"命名空间 std 没有成员 stod"的错误。

关于这个错误,我查看项目的 github 仓库,源文件中已经添加了 string 头文件,但通过 vcpkg 安装的版本仍需添加。

注释掉 340 行左右的两个 template 定义。


4. 效果


使用时只需要添加头文件和命名空间,把想要查看的向量传入 plot 即可。

#include "../matplotlibcpp.h"

namespace plt = matplotlibcpp;

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

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

莫之涵

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值