Я пытаюсь установить NaoQI C ++ SDK в Linux 18.04.1 (VirtualBox). Я следовал этой инструкции по установке: http://doc.aldebaran.com/2-1/dev/cpp/install_guide.html
Моя проблема в части E. Шаг 3, когда я пытаюсь запустить «qibuild make»
Я получаю эту ошибку, когда пытаюсь построить пример helloworld:
CMakeFiles / testhelloworld.dir / testhelloworld.cpp.o: в функции
main':
AL :: ALBroker :: createBroker (std :: __cxx11 :: basic_string, std :: allocator> const&,
/home/nounou/Documents/SDKfolder/naoqi-sdk/doc/dev/cpp/examples/core/helloworld/testhelloworld.cpp:35:
undefined reference to
станд :: __ cxx11 :: basic_string,
std :: allocator> const&, int, std :: __cxx11 :: basic_string, std :: allocator> const&, int, int,
станд :: __ cxx11 :: basic_string,
std :: allocator>, bool) ‘
/home/nounou/Documents/SDKfolder/naoqi-sdk/doc/dev/cpp/examples/core/helloworld/testhelloworld.cpp:38:
неопределенная ссылка на
AL::ALProxy::ALProxy(boost::shared_ptr<AL::ALBroker>,
ци :: войти :: LogStream :: ~ LogStream () ‘:
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, int, int)'
CMakeFiles/testhelloworld.dir/testhelloworld.cpp.o: In function
….
CMakeFiles / testhelloworld.dir / build.make: 113: рецепт для цели
[ОШИБКА]: ошибка BuildFailed возникла при создании проекта hello world
Ошибка ‘sdk / bin / testhelloworld’ make [2]: * [sdk / bin / testhelloworld] Ошибка 1 CMakeFiles / Makefile2: 67: рецепт для цели
CMakeFiles / testhelloworld.dir / all не удалось сделать [1]: *
[CMakeFiles / testhelloworld.dir / all] Ошибка 2 Makefile: 129: рецепт для
цель ‘all’ не выполнена make: *** [all] Ошибка 2
Пожалуйста, помогите мне, если у вас есть представление о том, в чем проблема. Спасибо!
Скорее всего, у вас возникла проблема несовместимости ABI из-за перехода на C ++ 11. Вы используете Ubuntu 18.04, компиляторы которого настроены для связи с современными библиотеками C ++, но цепочка инструментов скомпилирована с прежними ABI и не применяет флаги компилятора для обеспечения совместимости.
Чтобы обойти это, либо:
Кстати, в руководстве по установке C ++, подразделе E.4, сказано, чтобы компилировать пример в core/sayhelloworld
, Здесь вы собрали пример под core/helloworld
,
Других решений пока нет …