Matplotlib - 找不到Numpy头文件

时间:2017-10-11 16:36:05

标签: python c++ macos matplotlib

我正在尝试使用matplotlib绘制图形:

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

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

然而,当我点击编译时,我收到以下错误:

/usr/local/include/matplotlibcpp.h:19:12: 
fatal error: 'numpy/arrayobject.h' file not found

这是我编译的方式:

g++ main.cpp -std=c++11 -I/usr/include/python2.7 -lpython2.7

请有人解释问题是什么以及如何解决。提前谢谢。

2 个答案:

答案 0 :(得分:1)

该错误表示在/usr/include之类的默认位置找不到numpy标头。

解决方案是找到numpy安装的include文件夹,并使用-I标志将编译器指向它。

您的命令行应该类似于

g++ main.cpp -std=c++11 -I/usr/include/python2.7 -I/System/Library/Frameworks/Python.framework/Versions/2.7/Ex‌​tras/lib/python/nump‌​y/core/include -lpython2.7

答案 1 :(得分:1)

我通过在mapplotlibcpp.h顶部添加“#define WITHOUT_NUMPY”标志解决了这个问题