- changed status to resolved
Matlab wrapper fails to compile
Issue #233
resolved
Error is newly introduced with pull request #134 due to changes in gtsam.h, and seems to be caused by redundant typedefs which in turn cause redundant instantiations through BOOST_CLASS_EXPORT_GUID. Commenting out the second typedef makes the problem disappear. SimpleCamera seems less semantically meaningful to me, so I'd kill that one instead, even if it breaks some backwards compatibility.
typedef gtsam::PinholeCamera<gtsam::Cal3_S2> SimpleCamera;
typedef gtsam::PinholeCamera<gtsam::Cal3_S2> PinholeCameraCal3_S2;
Error:
In file included from /home/cbeall3/git/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:5:0:
/home/cbeall3/git/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:204:1: error: redefinition of ‘struct boost::serialization::guid_defined<gtsam::PinholeCamera<gtsam::Cal3_S2> >’
BOOST_CLASS_EXPORT_GUID(gtsam::PinholeCameraCal3_S2, "gtsamPinholeCameraCal3_S2");
^
/home/cbeall3/git/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:203:1: error: previous definition of ‘struct boost::serialization::guid_defined<gtsam::PinholeCamera<gtsam::Cal3_S2> >’
BOOST_CLASS_EXPORT_GUID(gtsam::SimpleCamera, "gtsamSimpleCamera");
^
/home/cbeall3/git/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:204:1: error: redefinition of ‘const char* boost::serialization::guid() [with T = gtsam::PinholeCamera<gtsam::Cal3_S2>]’
BOOST_CLASS_EXPORT_GUID(gtsam::PinholeCameraCal3_S2, "gtsamPinholeCameraCal3_S2");
^
/home/cbeall3/git/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:203:1: error: ‘const char* boost::serialization::guid() [with T = gtsam::PinholeCamera<gtsam::Cal3_S2>]’ previously declared here
BOOST_CLASS_EXPORT_GUID(gtsam::SimpleCamera, "gtsamSimpleCamera");
^
/home/cbeall3/git/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:204:1: error: redefinition of ‘struct boost::archive::detail::extra_detail::init_guid<gtsam::PinholeCamera<gtsam::Cal3_S2> >’
BOOST_CLASS_EXPORT_GUID(gtsam::PinholeCameraCal3_S2, "gtsamPinholeCameraCal3_S2");
^
/home/cbeall3/git/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:203:1: error: previous definition of ‘struct boost::archive::detail::extra_detail::init_guid<gtsam::PinholeCamera<gtsam::Cal3_S2> >’
BOOST_CLASS_EXPORT_GUID(gtsam::SimpleCamera, "gtsamSimpleCamera");
^
/home/cbeall3/git/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:204:1: error: redefinition of ‘const boost::archive::detail::extra_detail::guid_initializer<gtsam::PinholeCamera<gtsam::Cal3_S2> >& boost::archive::detail::extra_detail::init_guid<gtsam::PinholeCamera<gtsam::Cal3_S2> >::g’
BOOST_CLASS_EXPORT_GUID(gtsam::PinholeCameraCal3_S2, "gtsamPinholeCameraCal3_S2");
^
/home/cbeall3/git/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:203:1: error: ‘const boost::archive::detail::extra_detail::guid_initializer<gtsam::PinholeCamera<gtsam::Cal3_S2> >& boost::archive::detail::extra_detail::init_guid<gtsam::PinholeCamera<gtsam::Cal3_S2> >::g’ previously declared here
BOOST_CLASS_EXPORT_GUID(gtsam::SimpleCamera, "gtsamSimpleCamera");
^
Comments (1)
-
reporter - Log in to comment
Fixed with pull request #137