[openrtm-users 02944] 【OpenRTM C++】【OSX Maveriks】Maveriksでのビルドについて

Yuki Suga ysuga @ ysuga.net
2013年 11月 11日 (月) 22:08:37 JST


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

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

ではでは


-- 
///////////////////////////////////////////////////////////////////
// Yuki Suga, Ph.D.
// URL: http://www.ysuga.net/?lang=en
// E-mail: ysuga @ ysuga.net
///////////////////////////////////////////////////////////////////
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: openrtm_ysuga_20131111-1.patch
型:         application/octet-stream
サイズ:     1645 バイト
説明:       無し
URL:        <http://www.openrtm.org/pipermail/openrtm-users/attachments/20131111/2e95af55/attachment.obj>


More information about the openrtm-users mailing list