未找到 Clang 提升 header

Clang boost header not found

我正在尝试编译构建一些 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 中寻找它最肯定会找到提升 headers 的地方。如您所见,它可以很好地链接所有其他依赖项。我可以添加什么,这样 clang 会得到提升?

在 OSX 10.10,没有什么特别的事情发生。 Boost 可能是由自制软件安装的,但文件都在 /usr/local/include/boost 中,正如我所料。

检查 /usr/bin/clang++ -v some_test_file.cpp 的输出,但 /usr/local/include 可能不在编译器的标准搜索路径中。

您需要将 -I/usr/local/include 添加到 CXXFLAGSCPPFLAGS 或构建脚本或环境中的任何适当位置。 python 构建脚本似乎无法正确检测到 Boost。

如果以上不正确(并且 /usr/local/include 确实出现在输出中),请确保 /usr/local/include/boost/smart_ptr/shared_ptr.hpp 存在。