g++でwcharが使えない

http://d.hatena.ne.jp/gpuppur/20080420
でビルドしたgccでは
boost-1.35.0をビルドするときにboost::serializeのwchar_t関連を使っているファイルでコンパイルエラーがでる。


ググったところ
http://d.hatena.ne.jp/y-hamigaki/20070327
iconv.hがないとlibstd++でwchar_tが有効にならないとの事でインストールすることにした。


cygwinに普通にlibiconvをインストールしただけではiconv.hは手に入らないようだ。
そこでsetup.exeでlibiconvのSrcにペケをつけてソースコードをゲットする。
それとcygportとg++もインストールする。
ソースコードは/usr/src下に置かれるので
cygport libiconv-1.11-1.cygport all
ソースコードをビルドし
tar xjvf libiconv-1.11-1.tar.bz2 -C /
でインストールすると/usr/include/iconv.hが置かれる。


その後gccをビルドし直したが症状が変わらない。
wchar.hのwprintfは使えるが
g++ではwprintfを使おうとしても定義してないよとコンパイルエラーがでる。
objdir/i686-pc-cygwin/libstdc++-v3/config.log
を見たところiconvのチェックはyesになっている。
だがwchar_t specializationsはnoになっている。


もう少しよく調べてg++でwchar関連の関数を使えるようにするべきか、
wchar関連の関数を使わないようにboostをビルドすべきか・・・。