C++生成致命错误:'numpy/arrayobject.h'文件未找到

xxhby3vn  于 2023-08-05  发布在  其他
关注(0)|答案(2)|浏览(157)

在我的项目中,cpp文件顶部的一个include是#include <vigra/numpy_array.hxx>,但是当我尝试构建(cmake,c++11)时,它失败了,因为/usr/local/include/vigra/numpy_array.hxx:46:10: fatal error: 'numpy/arrayobject.h' file not found。有什么想法吗?我该怎么解决?我知道相关的cython问题,但它们都是针对setup.py中的这个错误的。
附加信息:

  • 我已经安装了vigra(并测试它是成功的)
  • 我的CMakeLists.txt中有find_package( VIGRA REQUIRED )
  • 尝试make --include-dir=/usr/local/include/vigra没有帮助
pdkcd3nj

pdkcd3nj1#

您需要安装vigra已安装在您的系统上并包括在内。我假设你已经有了installed it,但是你需要确保它在编译器的包含路径中。如website所述:
VIGRA主要是一个头库,即通过简单地将包含文件复制到方便的位置,可以访问其大部分功能。
所以,看起来你可以只添加一个vigra头文件夹到你的项目中,并直接从那里包含。
此外,numpy必须在路径中安装并可用。你可以通过在你的linker/makefile中安装numpy来包含Python头文件来做到这一点。

xqkwcwgp

xqkwcwgp2#

ipython import numpy numpy.get_include()
sudo cp -r /Users/xxxxxxxxxx/anaconda3/envs/sd/lib/python3.10/site-packages/numpy/core/include/numpy /usr/local/include

相关问题