プロジェクト

全般

プロフィール

機能 #3660

_REENTRANTが既に定義されている

n-ando7年以上前に追加. 7年以上前に更新.

ステータス:
終了
優先度:
通常
担当者:
対象バージョン:
開始日:
2016/10/13
期日:
進捗率:

100%

予定工数:

説明

産総研の中岡です。

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
>  ^
> <command-line>:0:0: note: this is the location of the previous definition

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

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

関係しているリビジョン

リビジョン 2781 (差分)
n-ando7年以上前に追加

[compat,build,->RELENG_1_2] config_rtc.h definitions are now guarded by #ifndef macro. refs #3660

リビジョン 2781 (差分)
n-ando7年以上前に追加

[compat,build,->RELENG_1_2] config_rtc.h definitions are now guarded by #ifndef macro. refs #3660

履歴

#1 n-ando7年以上前に更新

  • 対象バージョンRELENG_1_2 にセット
  • 進捗率0 から 100 に変更

r2781にて修正

#2 n-ando7年以上前に更新

  • ステータス新規 から 終了 に変更

他の形式にエクスポート: Atom PDF