-
Notifications
You must be signed in to change notification settings - Fork 544
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
std::shared_ptr<PointMatcher<float>::Matcher> kdtree #537
Comments
I replaced std::shared_ptr with boost::shared_ptr and that has taken the reported errors away. I am now having other library issues that I hope are unrelated. I will post my progress here. |
I think the above issue is fixed; however, I am having a lot of missing symbol errors like this: lau3dsymmetryfilter.obj : error LNK2019: unresolved external symbol "public: __cdecl PointMatcher::ErrorMinimizer::ErrorElements::ErrorElements(struct PointMatcher::DataPoints const &,struct PointMatcher::DataPoints,class Eigen::Matrix<float,-1,-1,0,-1,-1>,struct PointMatcher::Matches)" (??0ErrorElements@ErrorMinimizer@?$PointMatcher@M@@qeaa@AEBUDataPoints@2@U32@V?$Matrix@M$0?0$0?0$0A@$0?0$0?0@Eigen@@UMatches@2@@z) referenced in function "public: __cdecl LAU3DSymmetryFilter::LAU3DSymmetryFilter(int,int,enum LAU3DSymmetryFilter::Axis,class QObject *)" (??0LAU3DSymmetryFilter@@qeaa@HHW4Axis@0@PEAVQObject@@@z) |
Hey @drhalftone, |
So I'm trying to configure an ICP without YAML. I have code working perfectly fine on Mac, but I have issues on Windows. I know you don't support Windows, but this might be an easy fix for someone expert in using BOOST. Here is my code:
The problem is that forth line. My compiler is throwing the error:
lau3dsymmetryfilter.cpp:90:51: No viable conversion from 'PointMatcher::Matcher *' to 'std::shared_ptr<PointMatcher::Matcher>'
memory:1503:15: candidate constructor not viable: no known conversion from 'PointMatcher::Matcher *' to 'nullptr_t' (aka 'std::nullptr_t') for 1st argument
memory:1559:5: candidate constructor not viable: no known conversion from 'PointMatcher::Matcher *' to 'const shared_ptr &' for 1st argument
memory:1569:5: candidate constructor not viable: no known conversion from 'PointMatcher::Matcher *' to 'shared_ptr &&' for 1st argument
memory:1564:5: candidate template ignored: could not match 'shared_ptr<_Ty2>' against 'PointMatcher::Matcher *'
memory:1574:5: candidate template ignored: could not match 'shared_ptr<_Ty2>' against 'PointMatcher::Matcher *'
memory:1587:5: candidate template ignored: could not match 'auto_ptr<_Ty2>' against 'PointMatcher::Matcher *'
memory:1598:5: candidate template ignored: could not match 'unique_ptr<_Ux, _Dx>' against 'PointMatcher::Matcher *'
memory:1509:14: explicit constructor is not a candidate
memory:1579:14: explicit constructor is not a candidate
I can fix this error if I use the following line of code:
Regardless, I get an error when I assigned my ICP object's matcher field with the following line of code:
with the error:
lau3dsymmetryfilter.cpp:93:17: No viable overloaded '='
shared_ptr.hpp:584:18: candidate function not viable: no known conversion from 'std::shared_ptr<PointMatcher::Matcher>' to 'const shared_ptr' for 1st argument
shared_ptr.hpp:593:18: candidate template ignored: could not match 'boost::shared_ptr' against 'std::shared_ptr'
shared_ptr.hpp:604:18: candidate template ignored: could not match 'auto_ptr' against 'shared_ptr'
shared_ptr.hpp:613:18: candidate template ignored: could not match 'auto_ptr' against 'shared_ptr'
shared_ptr.hpp:635:18: candidate template ignored: could not match 'unique_ptr' against 'shared_ptr'
shared_ptr.hpp:644:18: candidate template ignored: could not match 'unique_ptr' against 'shared_ptr'
shared_ptr.hpp:692:18: candidate function not viable: no known conversion from 'std::shared_ptr<PointMatcher::Matcher>' to 'shared_ptr' for 1st argument
shared_ptr.hpp:699:18: candidate template ignored: could not match 'boost::shared_ptr' against 'std::shared_ptr'
shared_ptr.hpp:717:18: candidate function not viable: no known conversion from 'std::shared_ptr<PointMatcher::Matcher>' to 'boost::detail::sp_nullptr_t' (aka 'std::nullptr_t') for 1st argument
The text was updated successfully, but these errors were encountered: