【发布时间】:2022-10-06 17:58:30
【问题描述】:
我正在尝试使用 setuptools 使用 CMake 安装带有 Pybind11 接口的 C++ 库。对于将 CMake 与 setuptools 一起使用,我使用以下答案中的代码:Extending setuptools extension to use CMake in setup.py?
我可以使用cmake 手动构建库。
然而不幸的是,在我的项目的根目录中执行pip install . 时,构建失败。
虽然第一次调用 cmake (self.spawn([\'cmake\', str(cwd)] + cmake_args)) 没有任何错误完成,但执行第二次调用 (self.spawn([\'cmake\', \'--build\', \'.\'] + build_args)) 会出现以下错误:
/users/thoerman/miniconda3/envs/postproc_np_products/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.3.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: cannot open output file /users/thoerman/postproc_np_products/build/lib.linux-x86_64-cpython-37/postproc_ops_cpp.cpython-37m-x86_64-linux-gnu.so: Is a directory
collect2: error: ld returned 1 exit status
gmake[3]: *** [/users/thoerman/postproc_np_products/build/lib.linux-x86_64-cpython-37/postproc_ops_cpp.cpython-37m-x86_64-linux-gnu.so] Error 1
gmake[2]: *** [CMakeFiles/postproc_ops_cpp.dir/all] Error 2
gmake[1]: *** [CMakeFiles/postproc_ops_cpp.dir/rule] Error 2
gmake: *** [postproc_ops_cpp] Error 2
但是,当在build_temp 目录内的命令行上运行完全相同的命令时,一切正常。
有没有人对我有提示,可能出了什么问题?
标签: cmake setuptools pybind11