プロジェクト

全般

プロフィール

バグ #3004

完了

Macでのビルドの不具合の修正

n-ando さんがほぼ11年前に追加. 9年以上前に更新.

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

100%

予定工数:

説明

OpenRTM MLの皆様:
菅です.お世話になります.

OpenRTM-aist C++版をOSX Maveriksで使っています.
以下の3つの点で,ビルドが上手くいきません.

1.configure.ac
OSXでのデフォルトのgcc (Xcode)では,--export-dynamicではなく,-export-dynamicです.

2.exampleのConfigSample
VectorConert.hで定義しているoperator>>ですが,
この関数がグローバルスコープにあると上手くビルドできません.

http://clang.llvm.org/compatibility.html#dep_lookup

ここでは,operator>>をstdネームスペースに追加して回避しました.

3.SimpleIOについて
InPortを使う場合に問題が起きました.
Typecode.hにおいて,operator<<=を使っている126行目でコンパイルエラーが起きます.
問題は上記の2と同じ理由です.
CORBA::Anyに対して,TimedLong型を代入する部分ですが,
このoperator<<=はidlコンパイラによって生成されるコードなので,
この問題に対しては,rtm/Manager.hより先にrtm/idl/BasicDataType.hをインクルードするという方法で回避できます.

ただし,この方法だと,RTC Builder側のコードを変更する必要が出てきます.
他のOSでは試していません.

一応,patchを作りました.以下のようにリビジョン2400にパッチを当ててください.

$ svn co -r 2400
http://svn.openrtm.org/OpenRTM-aist/trunk/OpenRTM-aist/
OpenRTM-aist-trunk
$ patch -p1 -d OpenRTM-aist-trunk < openrtm_ysuga_20131111-1.patch

お気づきの点があれば,どなたでもお教えください.
他に良い方法はありましたでしょうか?

ではでは

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