iostream, wifstream и eclipse/g++ для Windows

Я использую Eclipse на окнах с цепочкой инструментов MinGW (g++ и т. Д.). У меня есть программа, которую я построил на darwin, которая читает и пишет в файлы, используя wifstream и wofstream. Программа компилирует и работает с помощью eclipse на darwin (Mac)... нет для моей проблемы.

Когда я перемещаю код в окна и пытаюсь встроить его с помощью цепочки инструментов MinGW и затмения, я получаю ошибку компиляции в wifstream, wofstream и wcout. Переменные, определенные как wstring, компилируются просто отлично.

Например:

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

приводит к ошибке компиляции

..\src\pdConv.cpp:31: ошибка: `wifstream'не был объявлен в этой области

который, кажется, указывает на то, что компилятор считает, что wifstream является переменной. Я заметил, что директива _GLIBCXX_USE_WCHAR_T не включена во включаемых файлах. Мне нужно определить это самому, или что-то в среде должно это знать? Если я определяю это вручную, то оказывается, что я не могу использовать как широкие, так и узкие реализации в одной программе.

Это, вероятно, очевидно, но я застрял в этой проблеме надолго... смеется... Что я здесь скучаю?

1 ответ

По сути, это не поддерживается MinGW. Посмотрите эту ссылку. Я полагаю, возможно, что самая последняя версия gcc (4.4.0), доступная для MinGW, решает эту проблему, но я бы на это не рассчитывал. Похоже, что использование STLPorts может быть вашим единственным вариантом, если вам нужно придерживаться MinGW.

Другие вопросы по тегам