Как добавить проект про idl на redhawk

Когда я добавляю проект бездействия в redhawk, выполните следующие действия:

$ ./reconf
$ ./configure
$ sudo make
$ sudo make install

Я могу найти только что добавленный файл idl в каталоге REDHAWK Target SDR.

Цель SDR REDHAWK

При проверке возможности вызова файла idl я добавил файл заголовка и уже вызвал интерфейс функции, но во время компиляции возникает ошибка: неопределенная ссылка на «xxxxxxxx», например:

#include <redhawk/XH_IDL_TEST/xh_idl_test.h>
class data_t_test_base : public Component, protected ThreadedComponent
{
    public:
        data_t_test_base(const char *uuid, const char *label);
        ~data_t_test_base();
        void start() throw (CF::Resource::StartError, CORBA::SystemException);
        void stop() throw (CF::Resource::StopError, CORBA::SystemException);
        void releaseObject() throw (CF::LifeCycle::ReleaseError,CORBA::SystemException);
        void loadProperties();
 protected:
        xh_idl_test::_objref_dataChar *XH;
   private:
}

ошибки:

/home/sca/sca_com/data_t_test/cpp/data_t_test.cpp:21: неопределенная ссылка на `xh_idl_test::_objref_dataChar::pushPacket()'

Могу я спросить, как решить эту проблему?


person Hangxie    schedule 18.12.2017    source источник
comment
как вы вызываете компилятор?   -  person Daniel A. White    schedule 18.12.2017


Ответы (1)


В REDHAWK доступ к IDL осуществляется через порты, которые либо используют (выход), либо предоставляют (ввод). После того, как проект IDL будет установлен в вашей системе, в компоненте добавьте порт. Отредактируйте интерфейс порта, нажав «Обзор...». В меню «Выбор и интерфейс» нажмите «Показать все интерфейсы», а затем выберите нужный интерфейс.

В случае портов ввода или вывода будут сгенерированы соответствующие заглушки.

person Max Robert    schedule 29.03.2018