如何为 pybind11 正确构建活页夹

How to properly build binder for pybind11

我是活页夹的新用户,我关注了 the installation steps 但是当我 运行 最后一个命令时:

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.

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

我无法使用此 installation steps 成功构建 binder。我也收到了以下错误:

CMake Error: The source directory "$HOME/prefix" does not appear to contain CMakeLists.txt. Specify --help for usage, or press the help button on the CMake GUI.

不过,安装步骤好像过时了。你可以找到最新的安装步骤here and the binder repository here.

docs, you can clone the binder 存储库和 运行 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

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

来自 man page,

-j N

run N jobs in parallel [default=derived from CPUs available]


还要确保已安装 clangninja-build 等先决条件,如本期 here

中所述