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

时间:2009-08-22 20:27:32

标签: g++ wofstream wifstream

我在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指令。我是否需要自己定义,或者环境中应该知道这个?如果我手动定义它,那么看起来我不能在同一个程序中同时使用宽和窄的实现。

这可能是显而易见的但我长期坚持这个问题......大声笑......我在这里错过了什么?

1 个答案:

答案 0 :(得分:5)

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