Я пытаюсь установить "панель инструментов" для лазера (http://sicktoolbox.sourceforge.net/docs/sicktoolbox-quickstart.pdf), и я получаю это сообщение, когда я пытаюсь создать его (команда в разделе 5.2):
Building Sick LMS mex...
Building with 'g++'.
/home/ark3420/SICK/sicktoolbox-1.0.1/matlab/../c++/drivers/lms/sicklms-1.0/SickLMSBufferMonitor.cc
:131:48: error: declaration of ‘SickToolbox::SickLMSBufferMonitor::~SickLMSBufferMonitor() throw
(SickToolbox::SickThreadException)’ has a different exception specifier
In file included from /home/ark3420/SICK/sicktoolbox-1.0.1/matlab/../c++/drivers/lms/sicklms-1.0/SickLMS.hh:
24:0,from /home/ark3420/SICK/sicktoolbox-1.0.1/matlab/../c++/drivers/lms/sicklms-1.0/SickLMSBufferMonitor.cc:24:0,
/home/ark3420/SICK/sicktoolbox-1.0.1/matlab/../c++/drivers/lms/sicklms-1.0/SickLMSBufferMonitor.hh:44:5: error:
from previous declaration ‘SickToolbox::SickLMSBufferMonitor::~SickLMSBufferMonitor() noexcept (true)’
./build_mex: Build failed!
Любые подсказки относительно того, что я мог сделать для разрешения ценившего. Одна проблема - то, что эта панель инструментов была записана несколько лет назад, когда Ubuntu 7 была текущей, таким образом, я предполагаю, что это могло бы быть частью проблемы!
заранее спасибо
Там удваивают объявления для thow SickToolbox:: SickLMSBufferMonitor:: ~SickLMSBufferMonitor () один в
/home/ark3420/SICK/sicktoolbox-1.0.1/matlab/../c++/drivers/lms/sicklms-1.0/SickLMS.hh - line 24
и другой в
/home/ark3420/SICK/sicktoolbox-1.0.1/matlab/../c++/drivers/lms/sicklms-1.0/SickLMSBufferMonitor.hh - line 44
открывает редактора для обоих файлов и проверки на ту, которая имеет больше смысла. Можно попытаться не прокомментировать одно объявление и видеть, работает ли это. Или свяжитесь с автором источника.
Таким образом, это похоже на строку:
SickLMSBufferMonitor::~SickLMSBufferMonitor( ) { }
был заменен
SickLMSBufferMonitor::~SickLMSBufferMonitor( ) throw (SickToolbox::SickThreadException) { }
для разрешения этой проблемы.