zoukankan      html  css  js  c++  java
  • PCL中的bug修改

      PCL是比较出众的激光点云处理库,通常都是自己从源码编译而来,但是编译出的动态库在使用的过程在头文件中会报一些奇怪的错误,起初天真的以为不可能是源码的问题,是自己环境配置的问题,经孙师兄点拨,豁然明白头文件中有错误,错误的原因是部分函数与系统标准库重名,导致编译器解析(从右至左)出现错误,举例说明:

    在使用kdTree和pcl_common这两个dll时在头文件:nn_index.h和result_set.h中会出现错误,如以下两句:

    worst_dist_ = std::numeric_limits::max(); 
    size_t n = std::min(dist_index_.size(), num_elements);
    类似语句编译时都会出现这个error,解决方案是:把max、min等连同前面的作用域括起来,如下:
    worst_dist_ = (std::numeric_limits::max)(); 
    size_t n = (std::min)(dist_index_.size(), num_elements); 
     
    此外,还有以下文件中的类似代码需要修改
    hierarchical_clustering_index.h 
    kmeans_index.h 
    lsh_table.h 
    kdtree_index.h 
    autotuned_indes.h 
    kdtree_single_index.h 
    lsh_index.h 
    result_set.h 
    nn_index.h
  • 相关阅读:
    推送
    XPath
    XML
    在xcode 6.4 环境下写的demo 在xode7 环境下 网络请求有问题
    SVN 搭建
    翻译
    iOS面试题积累
    安卓扁平化之路专题(三)Android 5.0新特性
    Android @SuppressLint @TargetApi 总结
    Android_support_v4,Android_support_v7,Android_support_v13区别
  • 原文地址:https://www.cnblogs.com/gisk/p/5402222.html
Copyright © 2011-2022 走看看