gpt4 book ai didi

c++ - cppyy cmake 构建找不到 LibClang

转载 作者:行者123 更新时间:2023-12-05 05:55:47 29 4
gpt4 key购买 nike

我一直在尝试使用 cppyy 为 C++ 库构建一些 python 绑定(bind)。目前我正在使用这里的 cookiecutter 食谱:https://github.com/camillescott/cookiecutter-cppyy-cmake

但是包裹找不到 LibClang_LIBRARYLibClang_PYTHON_EXECUTABLE .如果我使用 conda 或 pip 安装 cppyy,并且在 python 中导入 cppyy 工作正常,情况也是如此。

我尝试用 cmake -DLibClang_LIBRARY=<path/to/libclang> -DLibClang_PYTHON_EXECUTABLE=<path/to/executable> .. 手动定义路径虽然它随后找到了 LibClang_LIBRARY , 无法找到 LibClang_PYTHON_EXECUTABLE .

看起来是cmake找到合适路径的问题,完整的错误是

CMake Error at /usr/local/Cellar/cmake/3.21.3/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find LibClang (missing: LibClang_LIBRARY
LibClang_PYTHON_EXECUTABLE)
Call Stack (most recent call first):
/usr/local/Cellar/cmake/3.21.3/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
cmake/FindLibClang.cmake:47 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
cmake/FindCppyy.cmake:286 (find_package)
CMakeLists.txt:71 (cppyy_add_bindings)

有没有其他人发现这个问题或者更好的解决方案?

最佳答案

千篇一律示例中的 cmake 片段似乎比 cppyy-cling 中的片段更旧:https://github.com/wlav/cppyy-backend/tree/master/cling/python/cppyy_backend/cmake

(这些是安装在 Python site-packages 目录下的 cppyy_backend/cmake 下的。)

较新的版本使用谓词保护搜索,以防变量像您使用 -D... 选项那样被显式定义,我怀疑这将解决您遇到的大部分问题.

如果可用,它还会使用 llvm-config,这比尝试可能的目录更健壮。

关于c++ - cppyy cmake 构建找不到 LibClang,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69363344/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com