[openrtm-users 01424] Re: IDLのmodule定義を使うとimplコードがコンパイル不可
栗原眞二
shinji.kurihara @ aist.go.jp
2010年 9月 30日 (木) 23:11:13 JST
株式会社リバスト 菅様
産総研 栗原です。
いつもお世話になっております。
IDL定義にてmoduleを使用してインターフェースを定義した場合に、生成される
コードにmoduleが含まれない件につきましては、既に修正済みですので、
お手数ですが、以下からツールのプラグインをダウンロードし、eclipse/plugins
にあるjp.go.aist.から始まるファイルをダウンロードしたものと置き換えてご使用
頂けますでしょうか。
http://www.openrtm.org/pub/OpenRTM-aist/dailybuild/tools/1.0.0/
> 現在インストールされているOpenRTMの正確なバージョン
> (ビルド番号など)を確認する方法はありますか?
現状では、1.0.0から0.4.Xかを確認する事はできますが、ビルド番号までは確認
する事ができません。
> エラーを報告するのにすこし不便です.
> できればインストールされるフォルダに,
> READMEやVersion.txtなどを入れていただけるとありがたいです.
おっしゃる通りです。
いつ作成されたバージョンのものなのかがわかった方がサポートもしやすいです
ので、検討させて頂きます。
以上、宜しくお願い致します。
2010年9月30日10:36 ysuga <ysuga @ pop07.odn.ne.jp>:
> 株式会社リバストの菅です.
> お世話になっております.
>
> OpenRTM-aist 1.0RELEASE C++版
> (OpenRTM-aist-1.0.0-RELEASE_vc9_100212.msiでインストール)
> を使っています.
> OSはWindows (XP, Vista, 7)です.
>
> サービスポートを使用するときに,
> IDLを記述しますが,ネームスペースを使いたいので
> module定義を使っています.
>
> しかしながら,rtc-templateが生成する
> **_impl.cppなどの実装コードに問題があるため,
> そのままではコンパイルが通りません.
> (既出ならすみません)
>
>
> 詳細:
> 以下のようにIDLを記述します.
>
> module Amod {
> struct hoge {
> long a1;
> long a2;
> };
>
> interface hogehoge {
> long operation(out hoge arg);
> };
> };
>
> すると,生成されるimplクラスのコードが,たとえばヘッダーでは
>
> hogehogeSVC_impl.h
>
> class hogehogeSVC_impl
> ・・・中略
> CORBA::Long operation(hoge& arg);
>
> };
>
> のようになります.
> この場合,hogeという構造体は,
> Amodというモジュール内で宣言されているので,
> AmodというC++の名前空間内に定義されるのですが,
> hogehogeSVC_implクラスは,Amod名前空間外に宣言されているので,
> 本来であれば,operationというメソッドは,
>
> 誤 CORBA::Long operation(hoge& arg);
> 正 CORBA::Long operation(Amod::hoge& arg);
>
> とされるべきではないでしょうか?
> ヘッダーにもCPPにも同様の変更を加えねばならず不便です.
> おそらくはrtc-templateの変更が必要になると思います.
>
> IDLと,生成されたimplクラスのヘッダーとCPPコードを添付します.
> ご確認ください.
>
>
> それでは
>
>
> P.S.
> 現在インストールされているOpenRTMの正確なバージョン
> (ビルド番号など)を確認する方法はありますか?
> エラーを報告するのにすこし不便です.
> できればインストールされるフォルダに,
> READMEやVersion.txtなどを入れていただけるとありがたいです.
>
> --
> //////////////////////////////////////////////
> 菅 佑樹 (すが ゆうき)
> E-mail: ysuga @ ysuga.net
> 研究者関連: http://www.ysuga.net/research
> ロボット関連: http://www.ysuga.net/robot
> インラインスケート: http://www.ysuga.net/inline
>
> おしらせ: RTミドルウエアやってます
> http://www.ysuga.net/robot/rtm
> /////////////////////////////////////////////
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://www.openrtm.org/pipermail/openrtm-users/attachments/20100930/95aa6860/attachment-0001.html>
openrtm-users メーリングリストの案内