Quantcast
Channel: Intel® C++ Compiler
Viewing all articles
Browse latest Browse all 1616

ICC Compilation Error on Windows for PointCloudLibrary

$
0
0

I am using Intel Compiler 15.0 update 1 to compile the PCL(PointCouldLibrary 1.7.2, https://github.com/PointCloudLibrary/pcl)

Using VS2013 default compiler toolset, no issue with compilation.

When I switch to intel compiler, I got such a compilation error.

pcl-1.7.2\features\include\pcl/features/impl/board.hpp(131): error : declaration is incompatible with "void pcl::BOARDLocalReferenceFrameEstimation<PointInT, PointNT, PointOutT>::planeFitting(const Eigen::Matrix<float, Eigen::Dynamic, 3, <expression>, Eigen::Dynamic, 3> &, Eigen::Vector3f &, Eigen::Vector3f &)" (declared at line 301 of "pcl-1.7.2\features\include\pcl/features/board.h")
1>    pcl::BOARDLocalReferenceFrameEstimation<PointInT, PointNT, PointOutT>::planeFitting (
1>  

Please notice the bolden text.

The declaration of this planeFitting function in board.h

template<typename PointInT, typename PointNT, typename PointOutT = ReferenceFrame>
  class BOARDLocalReferenceFrameEstimation : public FeatureFromNormals<PointInT, PointNT, PointOutT>
  {
    public:
void planeFitting (Eigen::Matrix<float, Eigen::Dynamic, 3> const &points, Eigen::Vector3f &center,
                    Eigen::Vector3f &norm);

};

The implementation in board.hpp

template<typename PointInT, typename PointNT, typename PointOutT> void
pcl::BOARDLocalReferenceFrameEstimation<PointInT, PointNT, PointOutT>::planeFitting (
                                                                                     Eigen::Matrix<float,
                                                                                         Eigen::Dynamic, 3> const &points,
                                                                                     Eigen::Vector3f &center,
                                                                                     Eigen::Vector3f &norm)
{
 ......
}

I don't know why intel compiler wrongly expanded the first parameter of this function.

Eigen::Matrix<float, Eigen::Dynamic, 3> const &points to const Eigen::Matrix<float, Eigen::Dynamic, 3, <expression>, Eigen::Dynamic, 3> &,


Viewing all articles
Browse latest Browse all 1616

Trending Articles