当我在redhawk中添加一个idl项目时,请执行以下步骤:
$ ./reconf
$ ./configure
$ sudo make
$ sudo make install我可以在REDHAWK 目录中找到新添加的idl文件。
在测试是否可以调用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()'的未定义引用
请问如何解决这个问题?
发布于 2018-03-29 19:09:19
在REDHAWK中,IDL可以通过端口访问,可以使用(输出)或提供(输入)。一旦IDL项目安装在您的系统中,在组件上添加一个端口。通过单击“Browse.”编辑端口的界面。在“选择和界面”菜单上,单击“显示所有接口”,然后选择所需的接口。
在输入或输出端口的情况下,将生成适当的存根。
https://stackoverflow.com/questions/47861297
复制相似问题