Win 7 64 ビットおよび VS2010 で 1.54 x64 をブーストします。「Release x64」としてコンパイルし、次のコードを実行します。
#include <boost/locale/conversion.hpp>
std::wstring y = L"NoNseNSE";
std::wstring w = boost::locale::to_lower(y);
例外をスローしstd::bad_cast
ます。追加しても何も変わりません(他の場所で提案されているように):
std::locale mylocale("");
std::locale::global(mylocale);
環境内で LANGの代わりに使用するか、LANG を設定しto_lower(y)
ます。to_lower(y, mylocale)
std::string
std::wstring
目標は、小文字のイタリア語 UTF-8 単語に変換することです。私はこのような問題を回避していないので、マシン固有の問題かブースト ライブラリの問題であると推測します。ところで、sourceforge からプリコンパイル済みブースト ライブラリ (boost_1_54_0-msvc-10.0-64.exe) をダウンロードしました。何か案が?ありがとう!マリオ