使用JacORB将订单包含在*.idl文件中



我有一个idl2java ant任务的问题(我使用的是org.jacorb.idl.JacIDL)。这个问题在我的cpp从idl文件生成cpp代码的实现中不存在。

我有3*.idl文件,比方说:

  • A.idl
  • B.idl
  • C.idl

每一个都在psm目录中以文件命名的文件夹中,现在:
A.idl仅由基本类型组成,
B.idl包括A.idl,也有一些基本类型,
C.idl特定顺序包括B.idl和A.idl。

我不能更改包含订单。构建AB不会产生任何问题。建筑物C生成错误:

[jacorb.idl] ERROR : C.idl, line:16(52): Undefined name: 

将includes转换为A,B顺序而不是B,A解决了问题,但我会重复一遍——由于各种原因,我不能做到这一点,其中之一是基于ACE库的cpp实现工作良好

所以我礼貌地请求你的帮助,因为我不知道这是否能得到帮助。这是我的实际任务作为奖励——也许它会有所帮助(如果有拼写错误,对不起,它只在这里——代码"有效")。

<target name="idlj-generate" depends="idlj-init">
    <idl2java
    srcdir="${psm.dir}/${project}/"
    destdir="${build.generated.dir}"
    packageprefix="com.mypackageprefix"
    includepath="${psm.dir}"
    all="true">
        <define key="__JACORB_GENERATE__"/>
        <define key="globalimport" value="true"/>
    </idl2java>
</target>

用于信息目的的工件:

<taskdef name="idl2java" classname="org.jacorb.idl.JacIDL">
    <classpath refid="idlj.classpath"/>
</taskdef>

您最好在JacORB开发人员邮件列表中询问JacORB问题。

你能澄清一下你使用的是什么版本的JacORB吗?你能用3.6重现这个问题吗?

您没有提供足够的信息来说明什么是未定义的。

您是否尝试过删除"all"标志并一次编译一个?

相关内容

  • 没有找到相关文章

最新更新