blog.monophile.net

Takaaki Yamamoto

東京工業大学において計算機科学と応用数学を学び、情報科学芸術大学院大学[IAMAS]においてメディア表現を専攻し修了。 現在は digitiminimi Inc. において、インフラエンジニアとして生計をたててている。 また、計算を主題に制作を行い、現代音楽作品や公共インスタレーション作品など技術提供を行う。 三輪眞弘に師事する。

List

eclipse luna でc++0xを書く方法

いきさつ

c++0xだとラムダ式かけるしマルチスレッドやりやすいかな、 と思ったらeclipseでc++0x書くと宣言が見つからないって言われて、 調べたらc++0x用のセッティングが必要みたいです。

C/C++ Build -> Settings -> Tool Settings -> GCC C++ Compiler

C/C++ Build -> Settings -> Tool Settings -> GCC C++ Compiler -> Miscellaneous に“-std=c++0x”を追加します。例えば以下みたいに。

-c -fmessage-length=0 -std=c++11

C/C++ General -> Paths and Symbol -> Symbol -> GNU C++

Project Properties -> C/C++ General -> Paths and Symbol -> Symbol -> GNU C++ に __GXX_EXPERIMENTAL_CXX0X__ をvalueなしで追加します。 また必要ないかもしれないですが、 __cplusplusvalue:"201103L" で追加します。

C/C++ General -> Preprocessor … -> Providers

CDT GCC Built-in Complier Settingsの“use global provider shared between projects”のチェックボックスを外します。 そしてCommand to get compiler specsに以下を記します。 “-std=c++0x”を追加しただけですね。

${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}" -std=c++0x

そうしたら、このCDT GCC Built-in Complier Settingsを右のMove Upボタンで一番上まで持っていきます。

Project -> C/C++ Index -> Re-resolve Unresolved Include

最後にProject -> C/C++ Index -> Re-resolve Unresolved Includeをぽちっとします。