сборка с g ++ сбои: что делает ошибку: объявление‘ … бросает …’, имеет другой спецификатор исключения … средний

Я пытаюсь установить "панель инструментов" для лазера (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 была текущей, таким образом, я предполагаю, что это могло бы быть частью проблемы!

заранее спасибо

1
задан 21 August 2016 в 11:22

2 ответа

Там удваивают объявления для 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

открывает редактора для обоих файлов и проверки на ту, которая имеет больше смысла. Можно попытаться не прокомментировать одно объявление и видеть, работает ли это. Или свяжитесь с автором источника.

0
ответ дан 8 December 2019 в 09:13

Таким образом, это похоже на строку:

    SickLMSBufferMonitor::~SickLMSBufferMonitor( ) { }

был заменен

    SickLMSBufferMonitor::~SickLMSBufferMonitor( ) throw (SickToolbox::SickThreadException) { }

для разрешения этой проблемы.

0
ответ дан 8 December 2019 в 09:13

Другие вопросы по тегам:

Похожие вопросы: