[openrtm-users 03330] config_rtc.h における _REENTRANT の定義について

1 つの投稿 / 0 new
nakaoka
オフライン
Last seen: 4年 11ヶ月 前
登録日: 2011-07-25 18:26
[openrtm-users 03330] config_rtc.h における _REENTRANT の定義について

産総研の中岡です。

OpenRTM-aist の config_rtc.h ヘッダに関して要望があるのですが、
ここで定義されている

/* Multi Thread Support */
#define _REENTRANT TRUE

について、_REENTRANTが既に定義されているかどうかのチェックを入れて、

#ifndef _REENTRANT
#define _REENTRANT TRUE
#endif

という感じにしていただけないでしょうか。

というのも、ChoreonoidでOpenRTMプラグイン以外でもマルチスレッドは使って
いて、そのためにコンパイラにコマンドラインで与えるオプションを一括して設
定しており、これが上記の定義と重複してしまうからです。(具体的にはgccの
オプションである -pthread を使っています。)この場合、コンパイル時に

> In file included from /home/nakaoka/usr/include/openrtm-1.1/rtm/RTC.h:22:0,
> from /home/nakaoka/choreonoid/src/OpenRTMPlugin/ChoreonoidPeriodicExecutionContext.h:9,
> from /home/nakaoka/choreonoid/src/OpenRTMPlugin/ChoreonoidPeriodicExecutionContext.cpp:6:
> /home/nakaoka/usr/include/openrtm-1.1/rtm/config_rtc.h:156:0: warning: "_REENTRANT" redefined
> #define _REENTRANT TRUE
> ^
> :0:0: note: this is the location of the previous definition

といった警告メッセージが出てしまいます。

実害はないのですが、このメッセージがOpenRTMを使っているcppファイルごとに
出てしまい、かなり目立ってしまいますので、上記のように改善していただける
と助かります。

未定義

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

Webサイト統計
ユーザ数:2195
プロジェクト統計
RTコンポーネント307
RTミドルウエア35
ツール22
文書・仕様書2

Choreonoid

モーションエディタ/シミュレータ

OpenHRP3

動力学シミュレータ

OpenRTP

統合開発プラットフォーム

産総研RTC集

産総研が提供するRTC集

TORK

東京オープンソースロボティクス協会

DAQ-Middleware

ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク