PCL库的各种依赖和冲突让人头大,这里记录了一些PCL使用过程中的问题,长期更新(本次更新时间,2016年12月)。
1. max的宏名冲突
解决方法:
使用NOMINMAX宏可以防止stl库定义min和max
或者在max出现处使用括弧标识 (std::max)(a,b),这样可以避免编译器将max解释为宏
2. C++11标准问题
解决方法:
boost库中vector的this报错时,建议开启C++11的支持
3. flann库与opencv中的flann冲突
解决方法:
在flann前面加上全局命名空间 ::flann
在要使用opencv中flann的地方,使用cv::flann这样可以避免冲突
4. boost库的编译错误
解决方法:
.\boost/type_traits/detail/mp_defer.hpp(50) : fatal error C1001: An internal error has occurred in the compiler
使用VS2012或者VS2015,或者VS2013update5,VS2013早期都有这个bug