使用cmake配置matplotlibcpp生成VS项目

https://gitee.com/feboreigns/matplotlibcpp

这篇文章需要一些cmake基础,python基础,visualstudio基础

准备环境

注意如果在VS平台使用必须要手动下载python,不能使用conda里面的,比如3.8版本,因为conda里面没有python38_d.dll,只有python38.dll。怎么下载python就不解释了,注意安装的时候把所有的都勾上,尤其下面这个:
在这里插入图片描述

一般能自动添加环境变量,然后直接使用pip安装matplotlib。

PS C:\Users\aa\Desktop> python -V
Python 3.8.10
pip install matplotlib

我把我弄好的环境放在csdn上,但要自己配置环境变量

开始

1 把代码克隆下来。

2 使用vscode或者什么打开文件夹

3 cmake常规操作:新建一个build文件夹,cd进去,然后cmake … (注意我的cmake默认就是VS)

4 可能生成失败了,报一个错误:

PYTHONHOME = (not set)
PYTHONPATH = (not set)
........................................
ModuleNotFoundError: No module named 'encodings'

设置环境变量就行了

使用cmake配置matplotlibcpp生成VS项目_第1张图片

5 然后去build打开VS的sln,都编译一遍,release和debug,编译成功。

6 把python路径扔到环境变量path中(如果有就忽略),点击exe运行。

debug模式下运行不成功,出现下面的错误:

No module named 'numpy.core._multiarray_umath'
......................................

只需要在debug下加入附加依赖项E:\python3.8.10\libs\python38.lib,然后重新编译。
如果报错找不到dll那么就去python路径复制dll到运行目录下

7.如果你不想把这个版本的python加入到环境变量中,那么就取消我的注释,手动指定路径

set(CMAKE_PREFIX_PATH "E:/python3.8.10" ${CMAKE_PREFIX_PATH})
set(Python3_FIND_STRATEGY LOCATION)  # 指定查找策略
set(Python3_ROOT_DIR "E:/python3.8.10")  # 设置根路径
set(Python3_FIND_FRAMEWORK NEVER)  # 禁用 Framework 模式

8. 如果你想在其他的项目中使用matplotlibcpp

那么在包含目录加入:
E:/python3.8.10/include
E:/python3.8.10/Lib/site-packages/numpy/core/include
加入依赖项:
E:\python3.8.10\libs\python38.lib
debug下加入额外依赖项E:\python3.8.10\libs\python38_d.lib
就能正常使用matplotlibcpp.h了

他给示例 程序挺丰富的

你可能感兴趣的:(未分类,python)