我只希望能够用下面的代码行编译一个C++程序
#include <pybind11/pybind11.h>我已经尝试使用cmake设置路径:
set(CMAKE_CXX_FLAGS "-march=native -O3 -I /usr/include/python3.9/ -I /home/.local/lib/python3.9/site-packages/pybind11/include/") 没有起作用。CMAKE_CXX_FLAGS中文件的直接路径导致找不到文件。
我尝试将头路径添加到bashrc:
$HOME/.local/lib/python3.9/site-packages/pybind11/include$ pybind11/pybind11.h
bash: pybind11/pybind11.h: No such file or directory如果我的路径是:
$HOME/.local/lib/python3.9/site-packages/pybind11/include/pybind11
$ pybind11.h
bash: pybind11.h: command not found... 所有这些都不会使标题可见!
当我尝试在C++中导入标题时,这个东西总是起作用。
该文件
$HOME/.local/lib/python3.9/site-packages/pybind11/include/pybind11/pybind11.h肯定在系统里。我可以做得很好:
#include </home/.local/lib/python3.9/site-packages/pybind11/include/pybind11/pybind11.h> 怎么一回事?
发布于 2021-11-26 23:01:43
我不知道如何使用已安装的pybind11global,所以我只是为我的项目创建了一个git代码库,并添加了pybind11作为一个子模块。
然后在我的cmake中,我按照文档的要求添加了add_subdirectory(extern/pybind11)。我认为这会在目录中构建源代码。
然后,我必须使用target_include_directories(sps INTERFACE extern/pybind11/include),以便目标sps中的源可以使用标头。
https://stackoverflow.com/questions/70104465
复制相似问题