[openrtm-users 00847] バージョン依存性への対処法

Masayuki Shimizu masayuki.shimizu @ aist.go.jp
2009年 6月 23日 (火) 20:31:05 JST


OpenRTM-aist開発者の皆様

Cプリプロセッサレベルでの
OpenRTM-aistのバージョン判別法
を教えて下さい。

自作プログラムの中で、RTMのバージョン間
で異なるインタフェースを使うときに、
プリプロセッサの条件判断を使って以下のように
書きたいのですが、どうすればよいでしょうか?
-----
#if RTM_VERSION == 0.4.2
   (0.4.2用コード)
#elif RTM_VERSION == 1.0.0
   (1.0.0用コード)
#endif
-----

config_rtc.hにあるdefineマクロを使って
条件判断をさせようと思ったのですが、
バージョン情報がすべて文字列で書かれており、
やり方がわかりませんでした。

defineマクロでは、数字の大小は条件文で
判別できることは知っていますが、
文字列の一致とかは可能なのでしょうか?
私はこの辺はあまり詳しくないので
プリプロセッサでバージョン判別をする
方法を教えてください。

P.S. Linuxカーネルでは、
LINUX_VERSION_CODEと
KERNEL_VERSION(major,minor,release)マクロを使って、
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20)
のようにできて大変便利なのですが、
OpenRTM-aistでもこのようなマクロを
用意して頂けないでしょうか。

よろしくお願いいたします。

静岡大 清水

--------------------
Masayuki Shimizu
Assistant Professor
Dept. of Mechanical Engineering, Shizuoka Univ.
3-5-1, Johoku, Naka-ku, Hamamatsu 432-8561, JAPAN
TEL/FAX: +81-53-478-1061
Email: tmsimiz @ ipc.shizuoka.ac.jp



openrtm-users メーリングリストの案内