Windows上的iostream,wifstream和eclipse/g ++

Cry*_*tik 0 g++ wifstream wofstream

我在Windows上使用Eclipse和MinGW工具链(g ++等).我有一个我在darwin上构建的程序,它使用wifstream和wofstream读取和写入文件.该程序的编译和工作在darwin(Mac)上使用eclipse找到...没有我的问题.

当我将代码移动到Windows并尝试使用MinGW工具链和eclipse进行构建时,我在wifstream,wofstream和wcout上遇到编译错误.定义为wstring的变量编译得很好.

例如:

wifstream inFile; inFile.open(argv [2],ios_base :: in);

导致编译错误

..\src\pdConv.cpp:31:错误:在此范围内未声明`wifstream'

这似乎表明编译器认为wifstream是一个变量.我注意到包含文件中没有启用_GLIBCXX_USE_WCHAR_T指令.我是否需要自己定义,或者环境中应该知道这个?如果我手动定义它,似乎我不能在同一程序中使用宽和窄的实现.

这可能是显而易见的,但我一直坚持这个问题很久......哈哈.我在这里错过了什么?

Mat*_*ert 5

基本上,MinGW不支持此功能.看到这个链接我想可能MinGW可用的最新gcc(4.4.0)可以解决这个问题,但我不会指望它.如果您需要坚持使用MinGW,使用STLPorts似乎是您唯一的选择.