gcc4.6.2 -std=c++0x 環境下でのopenniプロジェクトコンパイル

Documentのとおりにやっても
error: #error OpenNI Platform Abstraction Layer - Unsupported Platform!
とそっけないエラーが出る。(他はXnPlatformLinux-x86.hとXnOSLinux-x86.hを#includeしてればwarningのみで大丈夫なのに)
linuxi386(or 64bitなら __x86_64__)が#defineされていないのが原因のようだ。
-std=c++0xオプションをはずすとコンパイルが通る。
gccのバグだろうか? それとも意図していることなのだろうか?
分からないが、-std=c++0xをつけたままコンパイルするには、gccのオプションに
-Dlinux -Di386(or -D__x86_64__)
をつければよい。

-D**ってオプションは他にもデバッグとかで使えそう。

追記:
-std=gnu++0x
でOKでした。情報を提供してくれた師匠に感謝。