首页 > 解决方案 > 如何为 pybind11 正确构建活页夹

问题描述

我是 binder 的新用户,我按照安装步骤操作,但是当我运行最后一个以下命令时:

cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_EH=1 -DLLVM_ENABLE_RTTI=ON .. && ninja

它说: CMake Error: The source directory "/Users/cuinjune/prefix" does not appear to contain CMakeLists.txt.

我错过了什么吗?我按照步骤两次,但仍然停留在最后一步。任何指导将不胜感激。

标签: pythonpybind11android-binder

解决方案


我无法binder使用此安装步骤成功构建。我也收到以下错误:

CMake 错误:源目录“$HOME/prefix”似乎不包含 CMakeLists.txt。指定 --help 使用,或按 CMake GUI 上的帮助按钮。

但是,安装步骤似乎已经过时。您可以在此处找到最新的安装步骤,并此处找到活页夹存储库。

文档中所述,您可以克隆活页夹存储库并运行build-and-run-tests.py默认安装。


在运行 时build-and-run-tests.py,如果您处于此步骤Building tool: binder...,则该过程似乎需要永远进行,因为没有可用的即时详细输出。

相反,您可以终止构建并在终端中手动执行命令以获得详细输出。

例如,考虑以下输出:

Building tool: binder...
cd /home/test/binder/build/llvm-6.0.1/build_6.0.1.linux.ubuntu.release && cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_EH=1 -DLLVM_ENABLE_RTTI=ON  .. && ninja bin/binder clang -j1

您可以终止(Ctrl+ C)构建并在终端中按顺序手动运行命令(在手动执行命令后再次运行以继续构建build-and-run-tests.py

cd /home/test/binder/build/llvm-6.0.1/build_6.0.1.linux.ubuntu.release
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_EH=1 -DLLVM_ENABLE_RTTI=ON  ..
ninja bin/binder clang -j1

此外,在最后一个命令中,您可以增加并行执行的作业数量。

手册页

-j N

并行运行 N 个作业 [默认=从可用的 CPU 派生]


还要确保按照此问题hereclang中的说明安装了和等先决条件ninja-build


推荐阅读