以下のコードをコンパイルすると次のようなエラーになってしまいます。
Googleで検索してみましたが解決策は見付かりませんでした。また、ファイルの文字コードの問題でもないようです。皆目検討がつかないのですが、何が問題なのでしょうか?
コンパイラは g++ (GCC) 4.1.2 です。

% g++ -Wall hoge.cpp
hoge.cpp: In function 'int main()':
hoge.cpp:4: error: converting to execution character set: 無効または不完全なマルチバイトまたはワイド文字です

#include <string>
int main(){
  std::wstring wstr;
  wstr = L"ほげほげ";
  return 0;
}