首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cppyy cmake版本找不到LibClang

Cppyy cmake版本找不到LibClang
EN

Stack Overflow用户
提问于 2021-09-28 14:11:41
回答 1查看 127关注 0票数 1

我一直在尝试使用cppyy为C++库构建一些python绑定。目前,我正在使用这里的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查找适当路径的问题,完整的错误是

代码语言:javascript
复制
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)

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-29 04:03:50

cookie cutter示例中的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 (如果可用),这比尝试可能的目录更健壮。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69363344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档