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
  • 相关阅读:
    选择语句(if else) 习题(2017/12/1)
    Java代码空格问题
    设置背景图片
    寄存器
    8086微处理器的组成和工作原理
    8086引脚
    换行的训练
    彩票 双色球 36选7
    函数
    字符串
  • 原文地址:https://www.cnblogs.com/gisk/p/5402222.html
Copyright © 2011-2022 走看看