/ पॉइंट क्लाउड लाइब्रेरी को संकलित करते समय / बूस्ट की समस्याएं - c ++, बढ़ावा, cmake, पॉइंट-क्लाउड-लाइब्रेरी

पॉइंट क्लाउड लाइब्रेरी - सी ++, बूस्ट, सेमेक, पॉइंट-क्लाउड-लाइब्रेरी को संकलित करते समय समस्याएं बढ़ाएं

मैं OSX 10.6.8 पर स्रोत से प्वाइंट क्लाउड लाइब्रेरी को संकलित करने की कोशिश कर रहा हूं, और मैं बूस्ट पुस्तकालयों के साथ उसी त्रुटि के खिलाफ चल रहा हूं:

! 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

मैंने सीएमके विकल्पों के माध्यम से देखा है, और उनमें से कोई भी बूस्ट लाइब्रेरी को संदर्भित नहीं करता है उन्नत सेटिंग्स सक्रिय होने के साथ, मुझे पता चलता है कि मेरी बूस्ट लाइब्रेरी फाइलें अंदर स्थित हैं /usr/lib/; जैसे /usr/lib/libboost_date_time-mt.dylib:

यहां छवि विवरण दर्ज करें

यह समस्या सुलझाने के लिए मैं क्या कर सकता हूं? और भविष्य में फिर से होने वाली इसी तरह की समस्याओं को रोकने में मदद करने के लिए मैं क्या कर सकता हूं?


अद्यतन करें मैंने खरोंच से बूस्ट को फिर से बनाया और संकलित किया है,और अभी भी वही त्रुटि हो रही है। यह बहुत अजीब लगता है, क्योंकि बूस्ट को खरोंच से संकलित किया जाता है और पीसीएल भी। केवल एक चीज जो नोट में हो सकती है, वह सीएमके आउटपुट में है, मुझे यह अजीब परस्पर विरोधी संदेश मिला:

-- checking for module "eigen3"
--   package "eigen3" not found
-- Eigen found (include: /usr/local/include/eigen3)

उत्तर:

जवाब के लिए 0 № 1

क्या यह "बूस्ट वर्जन ऑफ बूस्ट" समस्या है?

शायद लिंकर उन कार्यों की तलाश कर रहा है जो केवल आपके द्वारा निर्मित और स्थापित किए गए की तुलना में बढ़ावा देने के नए संस्करण में मौजूद हैं।

प्वाइंट क्लाउड लाइब्रेरी द्वारा बढ़ावा देने के किस संस्करण की सिफारिश की गई है, और आपके पास क्या बढ़ावा है, इसका दोहरा परीक्षण करें।