• このエントリーをはてなブックマークに追加

Cygwin での g++ のオプションで -std=c++0xが使えないでハマった。

まず、boost ライブラリで libboost_system-mt.aをリンクさせようとしたところ、コンパイルエラーとなる。

__Unwind_Resume

どうやら、c++0x てないと、コンパイルが通らないようだ。
なので、-std=c++0x のコンパイルオプションをつけようとしたところ
コンパイラオプションが認識されなかった。

いろいろ調べたところ -std=c++0xはg++ 4.3以降でないと、
有効ではないらしい。
そして、 Cygwinではデフォルトの g++は3.4であった。

/usr/bin配下をよく見てみると、 g++.exeとともにg++4.exe というものがあった。

どうやら、この g++4というものが、g++4.5のようだ。

なので、 g++4.exeをg++.exeに名前を変えてみると、
コンパイルを通すことができた。