Hi, thank you so much for your code. Could you help me cause I met a problem. I installed all Pre-requisites. And I can run "cmake .."
However, when I run make. I got the problem. I think the reason maybe come from complier. I use gcc version 5.4.0 Ubuntu 16.04.
They say that error: ‘iota’ is not a member of ‘std’, error: ‘begin’ is not a member of ‘std’
The problem is:
`[ 7%] Building CXX object CMakeFiles/4DOFReg.dir/src/globReg4D/globReg4D.cpp.o
In file included from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/../util/inputGen.h:16:0,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/globReg4D.h:4,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/globReg4D.cpp:1:
/home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/../util/../globReg4D/include/reg_common.h:31:0: warning: "NDEBUG" redefined
define NDEBUG
^
:0:0: note: this is the location of the previous definition
/home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/globReg4D.cpp: In function ‘int GLOBREG::RANSAC(pcl::PointCloud::Ptr, pcl::PointCloud::Ptr, std::vector&, double, reg::Transform3&)’:
/home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/globReg4D.cpp:135:32: error: ‘>>’ should be ‘> >’ within a nested template argument list
std::vector> pool(corr.size());
^
/home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/globReg4D.cpp:138:9: error: ‘iota’ is not a member of ‘std’
std::iota( std::begin( tmp ), std::end( tmp ), i+1 );
^
/home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/globReg4D.cpp:138:20: error: ‘begin’ is not a member of ‘std’
std::iota( std::begin( tmp ), std::end( tmp ), i+1 );
^
/home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/globReg4D.cpp:138:20: note: suggested alternatives:
In file included from /home/giang/.conda/envs/cs231n/include/boost/foreach.hpp:74:0,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/conversions.h:56,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/common/io.h:47,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/kdtree/kdtree.h:46,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/kdtree/kdtree_flann.h:44,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/../util/inputGen.h:7,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/globReg4D.h:4,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/globReg4D.cpp:1:
/home/giang/.conda/envs/cs231n/include/boost/range/begin.hpp:106:77: note: ‘boost::range_adl_barrier::begin’
NSTEXPR inline BOOST_DEDUCED_TYPENAME range_iterator::type begin( cons
^
In file included from /home/giang/.conda/envs/cs231n/include/boost/mpl/vector/aux_/begin_end.hpp:21:0,
from /home/giang/.conda/envs/cs231n/include/boost/mpl/vector/vector0.hpp:31,
from /home/giang/.conda/envs/cs231n/include/boost/mpl/vector/vector10.hpp:18,
from /home/giang/.conda/envs/cs231n/include/boost/mpl/vector/vector20.hpp:18,
from /home/giang/.conda/envs/cs231n/include/boost/mpl/vector.hpp:36,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/register_point_struct.h:58,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/point_types.h:44,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/../util/inputGen.h:6,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/globReg4D.h:4,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/globReg4D.cpp:1:
/home/giang/.conda/envs/cs231n/include/boost/mpl/begin_end_fwd.hpp:22:38: note: ‘boost::mpl::begin’
template< typename Sequence > struct begin;
^
In file included from /home/giang/.conda/envs/cs231n/include/boost/foreach.hpp:74:0,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/conversions.h:56,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/common/io.h:47,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/kdtree/kdtree.h:46,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/kdtree/kdtree_flann.h:44,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/../util/inputGen.h:7,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/globReg4D.h:4,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/globReg4D.cpp:1:
/home/giang/.conda/envs/cs231n/include/boost/range/begin.hpp:106:77: note: ‘boost::range_adl_barrier::begin’
NSTEXPR inline BOOST_DEDUCED_TYPENAME range_iterator::type begin( cons
^
In file included from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/conversions.h:56:0,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/common/io.h:47,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/kdtree/kdtree.h:46,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/kdtree/kdtree_flann.h:44,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/../util/inputGen.h:7,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/globReg4D.h:4,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/globReg4D.cpp:1:
/home/giang/.conda/envs/cs231n/include/boost/foreach.hpp:689:1: note: ‘boost::foreach_detail_::begin’
begin(auto_any_t col, type2type *, boost::mpl::true_ *) // null-termina
^
In file included from /home/giang/.conda/envs/cs231n/include/boost/fusion/iterator/segmented_iterator.hpp:13:0,
from /home/giang/.conda/envs/cs231n/include/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp:12,
from /home/giang/.conda/envs/cs231n/include/boost/fusion/sequence/intrinsic/end.hpp:18,
from /home/giang/.conda/envs/cs231n/include/boost/fusion/mpl/back.hpp:12,
from /home/giang/.conda/envs/cs231n/include/boost/fusion/mpl.hpp:15,
from /home/giang/.conda/envs/cs231n/include/boost/fusion/include/mpl.hpp:12,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/common/impl/accumulators.hpp:44,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/common/centroid.h:954,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/features/normal_3d.h:45,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/keypoints/impl/iss_3d.hpp:42,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/keypoints/iss_3d.h:274,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/../util/inputGen.h:9,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/globReg4D.h:4,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/globReg4D.cpp:1:
/home/giang/.conda/envs/cs231n/include/boost/fusion/sequence/intrinsic/begin.hpp:92:5: note: ‘boost::fusion::begin’
begin(Sequence const& seq)
^
In file included from /home/giang/.conda/envs/cs231n/include/boost/fusion/sequence/intrinsic/value_at.hpp:16:0,
from /home/giang/.conda/envs/cs231n/include/boost/fusion/mpl/at.hpp:12,
from /home/giang/.conda/envs/cs231n/include/boost/fusion/mpl.hpp:14,
from /home/giang/.conda/envs/cs231n/include/boost/fusion/include/mpl.hpp:12,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/common/impl/accumulators.hpp:44,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/common/centroid.h:954,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/features/normal_3d.h:45,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/keypoints/impl/iss_3d.hpp:42,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/keypoints/iss_3d.h:274,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/../util/inputGen.h:9,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/globReg4D.h:4,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/globReg4D.cpp:1:
/home/giang/.conda/envs/cs231n/include/boost/fusion/sequence/intrinsic_fwd.hpp:62:16: note: ‘boost::fusion::result_of::begin’
struct begin;
^
/home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/globReg4D.cpp:138:39: error: ‘end’ is not a member of ‘std’
std::iota( std::begin( tmp ), std::end( tmp ), i+1 );
^
/home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/globReg4D.cpp:138:39: note: suggested alternatives:
In file included from /home/giang/.conda/envs/cs231n/include/boost/foreach.hpp:73:0,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/conversions.h:56,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/common/io.h:47,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/kdtree/kdtree.h:46,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/kdtree/kdtree_flann.h:44,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/../util/inputGen.h:7,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/globReg4D.h:4,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/globReg4D.cpp:1:
/home/giang/.conda/envs/cs231n/include/boost/range/end.hpp:100:77: note: ‘boost::range_adl_barrier::end’
NSTEXPR inline BOOST_DEDUCED_TYPENAME range_iterator::type end( const
^
In file included from /home/giang/.conda/envs/cs231n/include/boost/mpl/vector/aux_/begin_end.hpp:21:0,
from /home/giang/.conda/envs/cs231n/include/boost/mpl/vector/vector0.hpp:31,
from /home/giang/.conda/envs/cs231n/include/boost/mpl/vector/vector10.hpp:18,
from /home/giang/.conda/envs/cs231n/include/boost/mpl/vector/vector20.hpp:18,
from /home/giang/.conda/envs/cs231n/include/boost/mpl/vector.hpp:36,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/register_point_struct.h:58,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/point_types.h:44,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/../util/inputGen.h:6,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/globReg4D.h:4,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/globReg4D.cpp:1:
/home/giang/.conda/envs/cs231n/include/boost/mpl/begin_end_fwd.hpp:23:38: note: ‘boost::mpl::end’
template< typename Sequence > struct end;
^
In file included from /home/giang/.conda/envs/cs231n/include/boost/foreach.hpp:73:0,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/conversions.h:56,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/common/io.h:47,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/kdtree/kdtree.h:46,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/kdtree/kdtree_flann.h:44,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/../util/inputGen.h:7,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/globReg4D.h:4,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/globReg4D.cpp:1:
/home/giang/.conda/envs/cs231n/include/boost/range/end.hpp:100:77: note: ‘boost::range_adl_barrier::end’
NSTEXPR inline BOOST_DEDUCED_TYPENAME range_iterator::type end( const
^
In file included from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/conversions.h:56:0,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/common/io.h:47,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/kdtree/kdtree.h:46,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/kdtree/kdtree_flann.h:44,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/../util/inputGen.h:7,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/globReg4D.h:4,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/globReg4D.cpp:1:
/home/giang/.conda/envs/cs231n/include/boost/foreach.hpp:729:1: note: ‘boost::foreach_detail_::end’
end(auto_any_t, type2type *, boost::mpl::true_ *) // null-terminated C-
^
In file included from /home/giang/.conda/envs/cs231n/include/boost/fusion/mpl/back.hpp:12:0,
from /home/giang/.conda/envs/cs231n/include/boost/fusion/mpl.hpp:15,
from /home/giang/.conda/envs/cs231n/include/boost/fusion/include/mpl.hpp:12,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/common/impl/accumulators.hpp:44,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/common/centroid.h:954,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/features/normal_3d.h:45,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/keypoints/impl/iss_3d.hpp:42,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/keypoints/iss_3d.h:274,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/../util/inputGen.h:9,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/globReg4D.h:4,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/globReg4D.cpp:1:
/home/giang/.conda/envs/cs231n/include/boost/fusion/sequence/intrinsic/end.hpp:92:5: note: ‘boost::fusion::end’
end(Sequence const& seq)
^
In file included from /home/giang/.conda/envs/cs231n/include/boost/fusion/sequence/intrinsic/value_at.hpp:16:0,
from /home/giang/.conda/envs/cs231n/include/boost/fusion/mpl/at.hpp:12,
from /home/giang/.conda/envs/cs231n/include/boost/fusion/mpl.hpp:14,
from /home/giang/.conda/envs/cs231n/include/boost/fusion/include/mpl.hpp:12,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/common/impl/accumulators.hpp:44,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/common/centroid.h:954,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/features/normal_3d.h:45,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/keypoints/impl/iss_3d.hpp:42,
from /home/giang/.conda/envs/cs231n/include/pcl-1.9/pcl/keypoints/iss_3d.h:274,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/../util/inputGen.h:9,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/globReg4D.h:4,
from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/globReg4D.cpp:1:
/home/giang/.conda/envs/cs231n/include/boost/fusion/sequence/intrinsic_fwd.hpp:68:16: note: ‘boost::fusion::result_of::end’
struct end;
^
CMakeFiles/4DOFReg.dir/build.make:86: recipe for target 'CMakeFiles/4DOFReg.dir/src/globReg4D/globReg4D.cpp.o' failed
make[2]: *** [CMakeFiles/4DOFReg.dir/src/globReg4D/globReg4D.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/4DOFReg.dir/all' failed
make[1]: *** [CMakeFiles/4DOFReg.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
`
I can fix it now, I updated to gcc v6 and it can work, it spent my whole day for finding a way to install libraries as well as fixing all of them to make it work.
Hi, thank you so much for your code. Could you help me cause I met a problem. I installed all Pre-requisites. And I can run "cmake .." However, when I run make. I got the problem. I think the reason maybe come from complier. I use gcc version 5.4.0 Ubuntu 16.04. They say that error: ‘iota’ is not a member of ‘std’, error: ‘begin’ is not a member of ‘std’ The problem is:
`[ 7%] Building CXX object CMakeFiles/4DOFReg.dir/src/globReg4D/globReg4D.cpp.o In file included from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/../util/inputGen.h:16:0, from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/globReg4D.h:4, from /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/globReg4D.cpp:1: /home/giang/Documents/UbuntuProject/Demo---Practical-optimal-registration-of-terrestrial-LiDAR-scan-pairs-master/src/globReg4D/../../include/globReg4D/../util/../globReg4D/include/reg_common.h:31:0: warning: "NDEBUG" redefined
define NDEBUG
^