【发布时间】:2020-03-19 15:04:14
【问题描述】:
对于我当前的 CMake 项目,我需要 numpy/ndarrayobject.h-library。起初项目没有编译并抱怨在包含路径中找不到numpy/ndarrayobject.h。
所以我所做的是sudo find / -type f -name 'ndarrayobject.h' 它吐了出来:
/usr/lib/python3.8/site-packages/numpy/core/include/numpy/ndarrayobject.h
我包含在CMakeLists.txt:
include_directories(/usr/lib/python3.8/site-packages/numpy/core/include/)
因此,这里没有实际错误。该项目按我预期的方式编译和工作。但是,我认为必须有一种更聪明的方法来查找目录。我见过 CMake-projects 使用
find_package(PythonLibs 3 REQUIRED)
find_package(OpenCV REQUIRED)
或类似的东西。所以我最初的想法是了解这些宏,以便更智能地包含numpy-目录。
这些宏叫什么?它们在哪里定义?我在哪里可以了解它们?上述目录是否存在这样的宏?
这可能是错误的方法吗?有一种更简洁的方法可以找到并包含上述目录吗?
【问题讨论】:
标签: c++ cmake macros include-path