Python 有关在我的计算机中安装PCL的问题

Python 有关在我的计算机中安装PCL的问题,python,cython,Python,Cython,当我尝试安装python pcl(pcl是用于表示激光雷达数据的点云库。我按照上的说明进行了操作,并且已经将travis/pcl-2d-1.8.pc文件复制到我的计算机中的/usr/local/lib/pkgconfig文件夹)。我在终端中键入了appledemabook-Pro-3:python-pcl-0.3.0rc1 apple$python setup.py install。然后我遇到了以下问题: running install running bdist_egg running egg

当我尝试安装python pcl(pcl是用于表示激光雷达数据的点云库。我按照上的说明进行了操作,并且已经将travis/pcl-2d-1.8.pc文件复制到我的计算机中的/usr/local/lib/pkgconfig文件夹)。我在终端中键入了
appledemabook-Pro-3:python-pcl-0.3.0rc1 apple$python setup.py install
。然后我遇到了以下问题:

running install
running bdist_egg
running egg_info
writing requirements to python_pcl.egg-info/requires.txt
writing python_pcl.egg-info/PKG-INFO
writing top-level names to python_pcl.egg-info/top_level.txt
writing dependency_links to python_pcl.egg-info/dependency_links.txt
reading manifest file 'python_pcl.egg-info/SOURCES.txt'
writing manifest file 'python_pcl.egg-info/SOURCES.txt'
installing library code to build/bdist.macosx-10.6-x86_64/egg
running install_lib
running build_py
running build_ext
skipping 'pcl/_pcl_180.cpp' Cython extension (up-to-date)
building 'pcl._pcl' extension
/usr/bin/clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/apple/miniconda3/include -I/Users/apple/miniconda3/include -DEIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET=1 -I/Users/apple/miniconda3/pkgs/python-3.5.4-h8f450c2_22/lib/python3.5/site-packages/numpy/core/include -I/usr/local/include/pcl-1.8 -I/usr/local/Cellar/openni/1.5.7.10/include/ni -I/usr/local/include/pcl-1.8 -I/usr/local/Cellar/flann/1.9.1_6/include -I/usr/local/include/pcl-1.8 -I/opt/local/include/eigen3 -I/usr/include/ni -I/usr/include/vtk-5.8 -I/usr/local/include/vtk-8.0 -I/usr/local/Cellar/vtk/8.0.1/include -I/Users/apple/miniconda3/pkgs/python-3.5.4-h8f450c2_22/include/python3.5m -c pcl/_pcl_180.cpp -o build/temp.macosx-10.6-x86_64-3.5/pcl/_pcl_180.o
warning: include path for stdlibc++ headers not found; pass '-std=libc++' on the
      command line to use the libc++ standard library instead
      [-Wstdlibcxx-not-found]
pcl/_pcl_180.cpp:447:10: fatal error: 'vector' file not found
#include <vector>
         ^~~~~~~~
正在运行安装
运行bdist_蛋
运行蛋_信息
将需求写入python_pcl.egg-info/requires.txt
编写python_pcl.egg-info/PKG-info
将顶级名称写入python_pcl.egg-info/top_level.txt
正在将依赖项链接写入python\u pcl.egg-info/dependency\u links.txt
正在读取清单文件“python_pcl.egg info/SOURCES.txt”
正在编写清单文件“python_pcl.egg info/SOURCES.txt”
将库代码安装到build/bdist.macosx-10.6-x86_64/egg
正在运行安装库
运行build\u py
运行build_ext
跳过“pcl/_pcl_180.cpp”Cython扩展(最新)
建筑“pcl.\U pcl”扩建
/usr/bin/clang-Wno unused result-Wsign compare-wunrechable code-DNDEBUG-g-fwrapv-O3-Wall-Wstrict原型-I/Users/apple/miniconda3/include-I/Users/apple/miniconda3/include-DEIGEN_YES\u I_KNOW\u稀疏_模块_还不稳定=1-I/Users/apple/miniconda3/pkgs/python-3.4-h8f450c2\u 22/lib/python3.5/site-packages/numpy/core/include/include-I/usr/local/include/pcl-1.8-I/usr/local/ceral/openni/1.5.7.10/include/ni-I/usr/local/include/pcl-1.8-I/usr/local/ceral/flann/1.9.1_6/include-I/usr/local/include/pcl-1.8-I/opt/local/include/eigen3-I/usr/include/ni-I/usr/include/vtk-5.8-I/usr/local/include/vtk-5.8-I/usr/include-I/Users/apple/miniconda3/pkgs/python-3.5.4-h8f450c2_22/include/python3.5m-c pcl/_pcl_180.cpp-o build/temp.macosx-10.6-x86_64-3.5/pcl/_pcl_180.o
警告:未找到stdlibc++头的包含路径;将'-std=libc++'传递到
命令行使用libc++标准库
[-Wstdlibcxx未找到]
pcl/_pcl_180.cpp:447:10:致命错误:未找到“vector”文件
#包括
^~~~~~~~

有人说这和我的赛昂版本有关。但我已经将Cython切换到0.25.2版,仍然无法工作。有人有同样的问题吗?非常感谢。顺便说一下,我的python版本是3.5.4,Mac版本是macOS Mojave 10.14.1,这是当前macOS安装的一个特刊。您可以调整
setup.py
,并如警告所示,将
-std=libc++
添加到编译选项中,即

from distutils.core import setup
from Cython.Build import cythonize

...  some stuff

#passing `-stdlib=libc++` to compiler and linker:
ext_modules = [Extension(...,
                         language='c++',
                         extra_compile_args=["-stdlib=libc++"], # + anything else you need
                         extra_link_args= ["-stdlib=libc++"] # + anything else you need]

... some more stuff
我还向链接器选项添加了
-stdlib=libc++
,因为这可能是您将遇到的下一个问题


更多背景:长期以来,在MacOS世界中,存在两种不同的c++标准库实现:
-libstdc++
gcc
关联,以及
libc++
clang
关联。开始时,
-libstdc++
也被默认用于
clang
-compiler。然而,情况已经不是这样了——现在甚至还没有安装,这就是为什么找不到标头的原因。我不知道为什么你的
clang
-版本没有默认的
libc++
-所以你必须手动将它传递给编译器/链接器。

你能给我们更多的细节吗?什么是pcl?您运行什么命令来尝试安装它?此错误消息来自何处?(给我们完整的堆栈,否则没有上下文很难帮助)抱歉,我添加了更多详细信息。正如ead提到的,您需要手动调整设置,如果他们的github跟踪器上还没有出现问题,您也应该通知他们我会的。谢谢你提醒我。@LeeDennis你知道什么是变色龙问题吗?如果遇到新问题,请提出新问题。