我有两个* .IDL文件,我必须处理循环依赖:
#ifndef __USER_IDL__
#define __USER_IDL__
#include "Group.idl"
interface User
{
typedef<sequence> Groups;
Groups getGroups();
void setGroups(in Groups u);
};
#endif
#ifndef __GROUP_IDL__
#define __GROUP_IDL__
#include "User.idl"
interface Group
{
typedef<sequence> Users;
Users getUser();
void setUsers(in Users u);
};
#endif
我需要将其保存在单独的文件中,如何解决?
查看我的文件:http://www32.zippyshare.com/v/32255598/file.html(我在那里添加了一个Makefile,所以只需运行命令:“make all”) - 我得到的错误是:
omniidl -bcxx User.idl Group.idl:8:接口主体中的语法错误 Group.idl:8:查找“用户”时出错:找不到“用户” Group.idl:9:查找“用户”时出错:找不到“用户” Group.idl:10:查找“用户”时出错:找不到“用户” User.idl:8:接口主体中的语法错误User.idl:8:错误 查找“群组”:未找到“群组”User.idl:9:查找错误 'Groups':'Groups'未找到User.idl:10:查找错误 '群组':'群组'未找到omniidl:8个错误。
答案 0 :(得分:2)
您可以转发声明接口,例如使用
接口组;
而不是在用户idl文件中删除Group.idl的包含