<div>安藤様</div><div><br></div>ジェフです。<br><br><div class="gmail_quote">2012/6/8 Ando Noriaki <span dir="ltr"><<a href="mailto:n-ando@aist.go.jp" target="_blank">n-ando@aist.go.jp</a>></span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">
> (3) __sync_fetch_and_add_4 のエラー原因の検索<br>
> 上記のエラーメッセージをググってみました。<br>
> すると、いろいろな情報が見つかりました。<br>
><br>
> __sync_fetch_and_add_4 がlegacyなインタフェースで、<br>
> C++では、std::atomic<>に置き換わったので、<br>
> __sync_fetch_and_add_4 を使わないようにソースを<br>
> 書き換えれば良いという情報がありました。<br>
<br>
</div>なるほどそうでしたか。これってC++0x11あたりで導入される機能ですよね。<br>
旧C++とC++0x11が混ざって悪さしているとかですかね?<br></blockquote><div><br></div><div>std::atomicはC++11から導入されたからまだオフィシャルなコンパイラのサポートはゼロです。オフィシャルではないならVC2011とgcc 4.5(?)以上にありますが、フラグを設定することが必要です。(そして、C++11からのフィーチャーならlegacyの方はまだあるはずですが…)</div><div>
<br></div><div>したがって、使うことに注意が必要でしょう。coilにstd::atomicを既定として導入するとVC2010でもコンパイルできなくなります。オプションにした方がいいと思います。以下のファイルの68行目は参照になると思います。</div><div><br></div><div><a href="https://github.com/gbiggs/tide/blob/api_reorg/include/tide/tide_config.h.in">https://github.com/gbiggs/tide/blob/api_reorg/include/tide/tide_config.h.in</a></div>
<div><br></div></div>