环境:Win2000, codeblocks + MinGW + STLPort510 写在前面:MinGW不支持宽字符的输出,于是我用 STLPort 库代替 MinGW 自带的 STL 库。好不容易把 STLPort 安装成功了,心想试一下看输出宽字符怎么样,没想到,还是不成功,于是我查了资料,发帖询问,最后写了这篇文章,在此谢过帮助过我的朋友们。 STLPort510 的安装请参考我的另一篇文章(MinGW 编译安装 STLPort5.1.0 ),本篇文章使用它编译出来的库。 先写一段代码,就以这段代码作为测试。//==========================================#include <iostream>
int main(){ std::wcout.imbue(std::locale("chs")); wchar_t wsz[] = L"abcd中华人民共和国"; std::wcout<< wsz<< std::endl; system("pause"); return 0;}//==========================================
现在,详细说一下 codeblocks 的设置情况。1、设置编译器的搜索路径,把你的 STLPort/stlport,STLPort/lib放到搜索路径的最前面。设置-->编译器和调试器设置:-->Compiler settings-->其它选项:添加"-mthreads",不含引号。-->Search directories,编译器:添加 STLPort/stlport 到最上面;连接器:添加 STLPort/lib 到最上面。-->Linker settings, 添加 STLPort/lib 目录下的三个文件。2、设置编辑器。设置-->编辑器-->常规设置,选择打开夜时的默认编码为:UTF-8。
现在编译、执行上面的代码,It's successful。