[openrtm-users 02580] Re: Fedora17(32bit)上でのOpenRTM(C++)コンパイル

Ando Noriaki n-ando @ aist.go.jp
2012年 6月 8日 (金) 10:17:00 JST


安藤です

coil本体ではC++0x11やboostなどはしばらく使わない予定です。
coil自体が移植性を向上させるものなので使えないOS・処理系が
主流である間は新しい機能に手を出すつもりはありませんのでご安心を。
#拡張モジュールでは一部 boost 使ったりもしてますが。


2012年6月8日 9:28 Geoffrey Biggs <geoffrey.biggs @ aist.go.jp>:
> 安藤様
>
> ジェフです。
>
> 2012/6/8 Ando Noriaki <n-ando @ aist.go.jp>
>>
>> > (3) __sync_fetch_and_add_4 のエラー原因の検索
>> > 上記のエラーメッセージをググってみました。
>> > すると、いろいろな情報が見つかりました。
>> >
>> > __sync_fetch_and_add_4 がlegacyなインタフェースで、
>> > C++では、std::atomic<>に置き換わったので、
>> > __sync_fetch_and_add_4 を使わないようにソースを
>> > 書き換えれば良いという情報がありました。
>>
>> なるほどそうでしたか。これってC++0x11あたりで導入される機能ですよね。
>> 旧C++とC++0x11が混ざって悪さしているとかですかね?
>
>
> std::atomicはC++11から導入されたからまだオフィシャルなコンパイラのサポートはゼロです。オフィシャルではないならVC2011とgcc
> 4.5(?)以上にありますが、フラグを設定することが必要です。(そして、C++11からのフィーチャーならlegacyの方はまだあるはずですが…)
>
> したがって、使うことに注意が必要でしょう。coilにstd::atomicを既定として導入するとVC2010でもコンパイルできなくなります。オプションにした方がいいと思います。以下のファイルの68行目は参照になると思います。
>
> https://github.com/gbiggs/tide/blob/api_reorg/include/tide/tide_config.h.in
>
>
> _______________________________________________
> openrtm-users mailing list
> openrtm-users @ openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-users
>



-- 
安藤慶昭@独立行政法人産業技術総合研究所 知能システム研究部門
    統合知能研究グループ 主任研究員, 博士(工学)
    〒305-8568 つくば市梅園1-1-1 中央第2
    e-mail: n-ando @ aist.go.jp, web: http://staff.aist.go.jp/n-ando
    OpenRTM-aist: http://www.openrtm.org

Noriaki Ando, Ph.D.
    Senior Research Scientist, RT-Synthesis R.G., ISRI, AIST
    AIST Tsukuba Central 2, Tsukuba, Ibaraki 305-8568 JAPAN
    e-mail: n-ando @ aist.go.jp, web: http://staff.aist.go.jp/n-ando
    OpenRTM-aist: http://www.openrtm.org


More information about the openrtm-users mailing list