VScode-C-环境搭建-Matplotlibcpp库

下载

Github GitCode

GitCode会快一点

下载后随便放在一个无中文的目录下就可以

解压后将其改名为matplotlibcpp

VScode环境搭建

参考CSDN

tasks.json配置

tasks.json文件中的tasks.args内,

"-g","${file}","-o",之间依次添加如下路径

根据自己的实际路径进行配置。

  1. 1
    2
    "-I",
    "C:/c++_libraries/matplotlibcpp", // matplotlibcpp.h路径

    此处matplotlibcpp.h路径为前文解压matplotlib目录

    C:/c++_libraries/文件夹是我自己建的C++库文件夹

  2. 1
    2
    "-I",
    "C:/Users/linru/AppData/Local/Programs/Python/Python310/include", // Python.h路径

    此处Python.h路径Python文件夹include文件夹的目录

    我这里的Python.h路径为C:/Users/linru/AppData/Local/Programs/Python/Python310/

  3. 1
    2
    "-I",
    "C:/Users/linru/AppData/Local/Programs/Python/Python310/Lib/site-packages/numpy/core/include", // numpy/arrayobject.h路径

    此处numpy/arrayobject.h路径为上文Python.h路径numpyinclude文件目录

    Python.h路径+Lib/site-packages/numpy/core/include

  4. 1
    2
    "-L",
    "C:/Users/linru/AppData/Local/Programs/Python/Python310", // python37.dll的所在目录

    此处python37.dll所在目录,即Python.h路径

  5. 1
    "-l", "python310",  // python37.dll动态库

    此处python37.dll动态库,即python+Python版本号

    这里的版本是3.10,即python310

c_cpp_properties配置

c_cpp_properties文件中的configurations.includePath内,依次增加如下路径

  1. 1
    "C:/c++_libraries/matplotlibcpp",  // matplotlibcpp.h路径

    即上文的matplotlibcpp.h路径,也就是前文解压matplotlib目录

  2. 1
    "C:/Users/linru/AppData/Local/Programs/Python/Python310/include",  // Python.h路径

    即上文的Python.h路径

  3. 1
    "C:/Users/linru/AppData/Local/Programs/Python/Python310/Lib/site-packages/numpy/core/include"  // numpy/arrayobject.h路径

    即上文的numpy/arrayobject.h路径

需要重启VScode自动补全才能生效

注释掉matplotlibcpp.h中两行代码

找到解压matplotlib目录下的matplotlibcpp.h文件并打开

将第354

1
template <> struct select_npy_type<long long> { const static NPY_TYPES type = NPY_INT64; };

和第356

1
template <> struct select_npy_type<unsigned long long> { const static NPY_TYPES type = NPY_UINT64; };

重复定义的两行Ctrl+/注释掉

即将第354行改为

1
// template <> struct select_npy_type<long long> { const static NPY_TYPES type = NPY_INT64; };

将第354行改为

1
// template <> struct select_npy_type<unsigned long long> { const static NPY_TYPES type = NPY_UINT64; };

Ctrl+s保存

测试

测试代码

1
2
3
4
5
6
#include "matplotlibcpp.h"
namespace plt = matplotlibcpp;
int main() {
plt::plot({1,3,2,4});
plt::show();
}

运行结果

运行结果