iostream, wifstream и eclipse / g ++ для Windows - PullRequest
0 голосов
/ 23 августа 2009

Я использую 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 Ответ

5 голосов
/ 23 августа 2009

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

...