Boost.Numpy从源安装但无法正常工作

我在Ubuntu 14.04上安装了libboost-all-dev (Boost 1.54),我需要安装Boost.NumPy库。

我知道NumPy带有Boost 1.64+,但我现在需要坚持使用1.54,因此我需要从这个目前已弃用的repo安装。

我按照Boost.NumPy/libs/numpy/doc/cmakeBuild.rst下的说明进行Boost.NumPy/libs/numpy/doc/cmakeBuild.rst 。 这些说明是:

  1. mkdir build
  2. cd build
  3. cmake ..
  4. 使
  5. sudo make install

一切都很好,我在这些命令中没有出现任何错误,所以我认为Boost.Numpy已成功安装在我的系统上。

我试图编译一个简单的C ++程序来检查系统是否可以找到该文件,但它无法正常工作。

C ++文件只包含以下标头:

 #include  

然后我编译如下:

 g++ test.cpp 

我收到错误:

 test.cpp:1:34: fatal error: boost/python/numpy.hpp: No such file or directory #include  ^ compilation terminated. 

我试图搜索头文件,我可以看到它就在那里。

 $ sudo find / -name "numpy.hpp" /usr/local/include/boost/numpy.hpp 

我还在.bashrc文件中添加了以下内容:

 export INCLUDE="/usr/local/include/boost:$INCLUDE" export LIBRARY_PATH="/usr/local/include/boost:$LIBRARY_PATH" export CFLAGS="-I/usr/local/include/boost" 

依然没有。

那么为什么Boost.Numpy没有正确安装? 我错过了什么? 文档很少,我找不到任何其他东西。

一般来说,如何确定系统是否可以使用我安装的Boost库?

谢谢。

因为您将标题包括在内

  

它期望在默认包含文件搜索路径或通过-I选项提供给编译器的路径的某个目录的某个子目录python中找到numpy.hpp

但是,该文件实际上是

 /usr/local/include/boost/numpy.hpp 

没有python子目录 – 所以你应该把它包含在你的C ++文件中

 #include  

然后告诉g++/usr/local添加到包含文件搜索路径

 g++ -I/usr/local/include test.cpp