Кросскомпиляция проектов на основе ActiveMQ-cpp

341
05 марта 2017, 08:32
  1. Откомпилировал и инсталлировал ActiveMQ-cpp на стороннем устройстве (ARM'e). Запустил на нем бинарные файлы примеров; они работают. То есть на самом устройстве ActiveMQ-cpp удачно работает.

  2. В QtCreator'e создаю проект. Подключаю библиотеки и хедеры на локальном компьютере в .pro-файле (на компе тоже уже установлен ActiveMQ-cpp), все работает.

  3. Использую Kit и компилятор для удаленного устройства (с ним проблем нет, уже опробован на другом проекте):

  1. Обновляю содержимое папки, используемой в sysroot, чтобы содержала установленные на устройстве (АРМе) библиотеки libactivemq-cpp и libapr-1

  2. Изменяю хедеры и библиотеки на sysroot для данного устройства в .pro:

    INCLUDEPATH += /home/rishat/olimex/usr/local/include/activemq-cpp-3.9.4

    INCLUDEPATH += /home/rishat/olimex/usr/include/apr-1.0

    DEPENDPATH += /home/rishat/olimex/usr/include/apr-1.0

    LIBS += -L/home/rishat/olimex/usr/local/lib -lactivemq-cpp

    LIBS += -L/home/rishat/olimex/usr/lib -lapr-1

  3. Компилирую, получаю ошибки компоновки:

    error: undefined reference to cms::ConnectionFactory::createCMSConnectionFactory(std::__cxx11::basic_string, std::allocator > const&)' error: undefined reference to decaf::lang::Long::toString[abi:cxx11](long long)' In functionHelloWorldConsumer::run()': error: undefined reference to `cms::ConnectionFactory::createCMSConnectionFactory(std::__cxx11::basic_string, std::allocator > const&)' :-1: error: collect2: error: ld returned 1 exit status

Хочу заметить, что если вообще не подключать библиотек ошибок с линкингом будет гораздо больше и другие, то есть в принципе библиотеки линкуются, формат их распознается и функции из них используются, но, почему-то, не cms::ConnectionFactory::createCMSConnectionFactor

Описание проблемы коротко: При кросскомпиляции не линкуются некоторые функции из библиотек из sysroot, хотя формат библиотек распознается и остальные функции линкуются.

В чем может заключатся проблема и как ее можно решить?

READ ALSO
Работа протокола SIP - авторизация

Работа протокола SIP - авторизация

Только начал изучение данного вопросаНа данный момент нужно просто проверить актуальность пароля SIP-аккаунта

235
JS: создание битового массива

JS: создание битового массива

Допустим, есть массив нескольких байтКак из них сделать битовый массив?

284
Зачем нужен Object.prototype?

Зачем нужен Object.prototype?

Не могу понять, зачем в данной функции использовать Objectprototype для того, чтобы проверить input и определить String ли это? В чем разница использования...

249