Troubleshoot cloud point library compilation

I am trying to compile the Point Cloud library from a source in OSX 10.6.8, and I continue to work against the same error with Boost libraries:

! make Linking CXX shared library ../lib/libpcl_common.dylib Undefined symbols: "boost::thread::start_thread_noexcept()", referenced from: boost::thread::thread<boost::_bi::bind_t<void, boost::_mfi::mf0<void, pcl::TimeTrigger>, boost::_bi::list1<boost::_bi::value<pcl::TimeTrigger*> > > >(boost::_bi::bind_t<void, boost::_mfi::mf0<void, pcl::TimeTrigger>, boost::_bi::list1<boost::_bi::value<pcl::TimeTrigger*> > >, boost::disable_if_c<boost::thread_detail::is_convertible<boost::_bi::bind_t<void, boost::_mfi::mf0<void, pcl::TimeTrigger>, boost::_bi::list1<boost::_bi::value<pcl::TimeTrigger*> > >&, boost::detail::thread_move_t<boost::_bi::bind_t<void, boost::_mfi::mf0<void, pcl::TimeTrigger>, boost::_bi::list1<boost::_bi::value<pcl::TimeTrigger*> > > > >::value, boost::thread::dummy*>::type)in time_trigger.cpp.o "boost::thread::join_noexcept()", referenced from: pcl::TimeTrigger::~TimeTrigger()in time_trigger.cpp.o ld: symbol(s) not found collect2: ld returned 1 exit status make[2]: *** [lib/libpcl_common.1.7.0.dylib] Error 1 make[1]: *** [common/CMakeFiles/pcl_common.dir/all] Error 2 make: *** [all] Error 2 

I looked at the CMake options and , none of them seem to reference the Boost library with the advanced settings activated, I found that my boost library files are in /usr/lib/ ; e.g. /usr/lib/libboost_date_time-mt.dylib :

enter image description here

What can I do to solve this problem? And what can I do in the future to prevent the recurrence of such problems?


UPDATE I rebuilt and compiled Boost from scratch and I still get the same error. This seems very strange, since Boost is compiled from scratch, and PCL too. The only thing that can be noted is the CMake output, I get this strange conflicting message:

 -- checking for module 'eigen3' -- package 'eigen3' not found -- Eigen found (include: /usr/local/include/eigen3) 
+3
source share
1 answer

Is this a problem with an older version of boost?

Perhaps the linker is looking for features that exist only in a newer version of boost than the one you created and installed.

Double check which version of the promotion is recommended by the Point Cloud library and which version of the promotion you have.

0
source

Source: https://habr.com/ru/post/1479948/


All Articles