You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Windows pcl_registration project build errors: error C2487 'pcl::Registration<...>::setInputSource(...): member of dll interface class may not be declared with dll interface
#996
Closed
magro11 opened this issue
Nov 13, 2014
· 1 comment
When building the current master of PCL with MSVC2010, 32bit, the pcl_registration project fails to build due to the error message indicated in the title.
I tried to find the problem and noticed that (similar to #426, too) deleting the line
using Registration<PointSource, PointTarget, Scalar>::setInputSource;
in icp.h (class IterativeClosestPoint) solved the issue and the project compiled properly. The problem seems to be that setInputSource(...) in the base class pcl::Registration is a virtual function, this does not work with the using... command. For other methods that are not virtual the using command does not cause any compiler errors.
What is the initial intention of the using command in icp.h? Is it allowed to simply delete the indicated line?
Cheers
Marc
The text was updated successfully, but these errors were encountered:
What is the initial intention of the using command in icp.h? Is it allowed to simply delete the indicated line?
Can not say anything about the intention, but it should be safe to remove it. Note that for a sibling function setInputTarget() there is no using declaration whatsoever and it works fine.
Please send a pull request with the change. Thanks!
This is a similar issue than #426:
When building the current master of PCL with MSVC2010, 32bit, the pcl_registration project fails to build due to the error message indicated in the title.
I tried to find the problem and noticed that (similar to #426, too) deleting the line
in icp.h (class IterativeClosestPoint) solved the issue and the project compiled properly. The problem seems to be that setInputSource(...) in the base class pcl::Registration is a virtual function, this does not work with the using... command. For other methods that are not virtual the using command does not cause any compiler errors.
What is the initial intention of the using command in icp.h? Is it allowed to simply delete the indicated line?
Cheers
Marc
The text was updated successfully, but these errors were encountered: