我正在尝试编译一个构建一些C ++源代码的Python PCL模块。我收到了这个错误:
$ python setup.py install
running install
running build
running build_py
running build_ext
skipping 'pcl/_pcl.cpp' Cython extension (up-to-date)
building 'pcl._pcl' extension
/usr/bin/clang -fno-strict-aliasing -fno-common -dynamic -g -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Library/Python/2.7/site-packages/numpy/core/include -I/usr/local/Cellar/pcl/HEAD/include/pcl-1.8 -I/usr/local/Cellar/eigen/3.2.3/include/eigen3 -I/usr/local/Cellar/pcl/HEAD/include/pcl-1.8 -I/usr/local/Cellar/flann/1.8.4/include -I/usr/local/Cellar/pcl/HEAD/include/pcl-1.8 -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c pcl/_pcl.cpp -o build/temp.macosx-10.6-intel-2.7/pcl/_pcl.o
pcl/_pcl.cpp:244:10: fatal error: 'boost/smart_ptr/shared_ptr.hpp' file not
found
#include "boost/smart_ptr/shared_ptr.hpp"
^
1 error generated.
error: command '/usr/bin/clang'
无论出于什么原因,clang都没有查看/usr/local/include
,它肯定会找到提升标题。正如您所看到的那样,它可以很好地链接所有其他依赖项。我可以补充一点,所以铿锵声会有所提升吗?
在OSX 10.10上,任何地方都没有任何奇特的事情发生。 Boost可能是由自制软件安装的,但文件都在/usr/local/include/boost
中,正如我所期望的那样。
答案 0 :(得分:0)
检查/usr/bin/clang++ -v some_test_file.cpp
的输出,但编译器的标准搜索路径中/usr/local/include
的可能性不大。
您需要将-I/usr/local/include
添加到CXXFLAGS
或CPPFLAGS
或您的构建脚本或环境中的任何适当位置。似乎python构建脚本无法正确检测Boost。
如果上述情况不属实(并且/usr/local/include
确实显示在输出中),请确保/usr/local/include/boost/smart_ptr/shared_ptr.hpp
存在。