[openrtm-users 00211] rtc-templateの--idl-includeについて

2 posts / 0 new
Last post
root
Offline
Last seen: 1 day 13 min ago
Joined: 2009-06-23 14:31
[openrtm-users 00211] rtc-templateの--idl-includeについて

中央大学M1 小島と申します。

清水様、安藤様、先日は迅速な対応ありがとうございました。

rtc-templateの-idl-includeオプションについてですが、
rtc-templateのhelpには、idlファイルをコンパイルするとき
探すパスと書いてあるのですが、使い方を間違えているのか、
機能してくれません。

行った作業としては、一つ上のディレクトリにある hoge というディレクトリに
idl ファイルを置き、以下のようにコマンドを打ちました。

rtc-template --idl-include=../hoge/
(他のオプションは省略しまています)

しかし、同じディレクトリにないためか、実行することができませんでした。
そこで、Makefileに影響があるのかと思っていたのですが、
影響もないようです。
また、rtc-templateによって生成されるcppファイルにも影響がないようです。

このオプションはどこに反映されるものなのでしょうか?

また、あるディレクトリをプロジェクトのidlを集めそこから参照する形にしたい
のですが、作成する際、rtc-templateのオプションで解決できる方法がございましたらお教えください。

Undefined
root
Offline
Last seen: 1 day 13 min ago
Joined: 2009-06-23 14:31
[openrtm-users 00212] rtc-templateの--idl-includeについて

小島様

産総研 安藤です

> rtc-templateの-idl-includeオプションについてですが、
> rtc-templateのhelpには、idlファイルをコンパイルするとき
> 探すパスと書いてあるのですが、使い方を間違えているのか、
> 機能してくれません。

--idl-includeオプションは、IDLから実装ファイル (*SVC_impl.[cpp|h]) を
作成するときにIDLのプリプロセッサに渡すオプションです。
Cコンパイラの-Iオプションのようなものと思っていただいて構いません。

つまり、以下のようなIDLファイルをサービスのIDLとして指定したい場合、
#include

interface MyService2
: MyService
{
void new_operation();
};
--idl-includeに渡したパスから、MyService.idlを探すようにプリプロセッサに
指示するためのオプションです。

従って、--service-idl, --consumer-idl に渡すIDLファイルを--idl-includeに渡した
パスから探してくれるわけではありません。
--service-idlおよび--consumer-idlに渡すIDLファイルはカレントに置くか、
フルパスで指定してください。

また、現状のrtc-templateが生成するMakefileは上記のような、指定したIDLファイルが
他のIDLを参照するようなIDLファイルのコンパイルには対応しておりませんので、
そういった場合にはMakefileを修正する必要があります。

なお、このオプションは現状バグがあってうまく動きません。
以下のパッチを宛てると動くようになります。

---ここから
Index: rtc-template
===================================================================
RCS file: /export/pub/cvsroot/OpenRTM-aist/utils/rtc-template/rtc-template,v
retrieving revision 1.8.2.2
diff -u -r1.8.2.2 rtc-template

Log in or register to post comments

Download

latest Releases : 2.0.0-RELESE

2.0.0-RELESE Download page

Number of Projects

Choreonoid

Motion editor/Dynamics simulator

OpenHRP3

Dynamics simulator

OpenRTP

Integrated Development Platform

AIST RTC collection

RT-Components collection by AIST

TORK

Tokyo Opensource Robotics Association

DAQ-Middleware

Middleware for DAQ (Data Aquisition) by KEK