我在带有 MinGW 工具链(g++ 等)的 Windows 上使用 Eclipse。我有一个基于 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 指令。我需要自己定义它还是环境中的某些东西应该知道这一点?如果我手动定义它,那么看来我不能在同一个程序中同时使用宽和窄实现。
这可能很明显,但我已经被这个问题困了很久......大声笑..我在这里错过了什么?