[openrtm-users 00909] rtctemplate 0.4.2 における moduleを含むIDLを入力とした場合のエラーについて
小田 謙太郎
oda @ ci.kyutech.ac.jp
2009年 8月 6日 (木) 17:52:45 JST
OpenRTM-aist開発者の皆様
九州工業大学 小田謙太郎と申します。
rtctemplate 0.4.2 において、moduleを含むIDLを入力
とするとエラーが発生する問題について、報告いたします。
=== IDL ここから ====
module mymodule {
interface MyService {
};
};
=== IDL ここまで ====
この IDL を 以下のコマンドラインでrtctemplate(CUI Java
版)を起動します。
=== コマンド ここから ====
java jp.go.aist.rtm.rtctemplate.CuiRtcTemplate
--output=. --backend=java --module-name=Hoge --module-desc=Foo
--module-vender=GaGa --module-category=Provider
--module-comp-type=DataFlowComponent --module-act-type=SPORADIC
--module-max-inst=1
--service="myservice:myservice0:mymoduel::MyService"
--service-idl=Module.idl
=== コマンド ここまで ====
クラスパスは、必要なものが通してあると仮定しています。
このコマンド結果が次に示します。
=== 結果 ここから ====
Invalidated argument for:[--service] args:[myservice, myservice0,
mymoduel, , MyService]
Generate fail.
=== 結果 ここまで ====
このように、テンプレートの生成に失敗してしまいます。
これは、module の区切り文字である"::"が
rtctemplate の区切り文字と
重複して扱われているのが原因ではないかと思います。
一方、Eclipse上で動作するGUI版のrtctemplate
0.4.2によるJavaテンプレート生成については、
この区切り文字のコンフリクトはおきませんが、生成されるコード
に以下の記述が見られます。
mymodule::MyService
Java言語では::は機能しませんので、エラーが発生してしま
います。
mymodule.MyService
と生成されるべきかと思います。
以上エラーの報告でした。
ご対応検討いただければと思います。
openrtm-users メーリングリストの案内