Compiler hat Problem mit wcout
-
Hallo,
wollte gerade ein Programm mit widechars schreiben, aber mein Compiler scheint irgendwie ein Problem mit wcout zu haben. Habe dazu mal ein Minimalbeispiel geschrieben:
#include <iostream> #include <string> using namespace std; int main() { basic_string<wchar_t> ausgabe = L"test"; wcout<<ausgabe<<endl; return 0; }
Beim Kompilieren kriege ich dann folgenden Fehler:
||=== WideChar, Debug ===|
M:\Uni\HiWi\WideChar\main.cpp||In functionint main()':| M:\\Uni\\HiWi\\WideChar\\main.cpp|9|error:
wcout' was not declared in this scope|
M:\Uni\HiWi\WideChar\main.cpp|9|warning: unused variable 'wcout'|
||=== Build finished: 1 errors, 1 warnings ===|Er scheint also irgendwie wcout nicht in iostream zu haben, aber überall wo ichs nachgelesen habe, steht, dass wcout in iostream definiert ist.
Falls es am Compiler liegt: Ich benutze den GNU GCC Compiler zusammen mit Code::Blocks.
Danke schonmal
-
_GLIBCXX_USE_WCHAR_T definiert?
-
Ist
std::wcout
im Standard überhaupt festgelegt?
-
Die Pfade sehen nach Windows aus, also wirst du wohl MingW benutzen (wichtige Information!) - MingW unterstützt wcout nicht richtig.
-
Version 3.4.5 des Compilers unterstützt noch kein wcout und co. Mit dem neueren (Version 4) funktioniert es erst.
-
Fellhuhn schrieb:
_GLIBCXX_USE_WCHAR_T definiert?
Überflüssig.
daersc schrieb:
Ist
std::wcout
im Standard überhaupt festgelegt?Ja.
-
daersc schrieb:
Ist
std::wcout
im Standard überhaupt festgelegt?Jap ist es. Ist nur eine Einschränkung des alten MinGW Kompilers. Entweder den TDM GCC verwenden oder sich die aktuelle MinGW Version selber zusammenfrickeln.
Grüssli
-
Code::Blocks 10.5 mit gcc (g++) 4.4.1
compiliert deinen Quelltext ohne Probleme und funktioniert -> Ausgabe: testDigital Mars 8.52 mit STL auch okay.
-
Hey,
danke für die schnellen Antworten! Habe jetzt manuell die neue Version von MinGW runtergeladen und installiert. Damit läufts.
Allerdings gibt er jetzt beim Linken eine Warnung aus:
||warning: auto-importing has been activated without --enable-auto-import specified on the command line.|
||Info: resolving std::wcout by linking to __imp___ZSt5wcout |
||=== Build finished: 0 errors, 1 warnings ===|Was heißt das genau und wie krieg ichs weg?
Habe gerade mal testweise ein anderes Projekt kompiliert und da krieg ich die gleich Warnung und anschließend 32 Fehler, die es vorher nicht gab...
-
Habe jetzt einfach mal TDM GCC draufgemacht und damit läuft alles wunderbar. Danke! Der Thread kann also zugemacht werden...