mingw и wcout
От: serg baburin Россия  
Дата: 21.03.08 07:40
Оценка:
Пытаюсь скомпилировать вот такое:

#include <iostream>

int main()
{
  std::wcout << L"Hello world!" << std::endl;
    return 0;
}


выдает:
g++ -D_DEBUG -D_WINDOWS -D_UNICODE -D__GLIBCPP_USE_WSTRING -D__GLIBCXX_USE_WCHAR_T main.cpp
main.cpp: In function `int main()':
main.cpp:5: error: `wcout' is not a member of `std'


Что не так делаю?

mingw-runtime-3.14
gcc-g++-3.4.5
gcc-core-3.4.5
... << RSDN@Home 1.2.0 alpha rev. 790>>

Re: mingw и wcout
От: php-coder Чехия http://slava-semushin.blogspot.com
Дата: 21.03.08 07:53
Оценка:
Здравствуйте, serg baburin, Вы писали:

SB>Пытаюсь скомпилировать вот такое:


Я тоже попытался:

[c0der@xxx ~]$ cat wcout.cc
#include <iostream>

int main()
{
        std::wcout << L"Hello world!" << std::endl;
        return 0;
}

[c0der@xxx ~]$ g++ -W -Wall wcout.cc -o wcout
[c0der@xxx ~]$ ./wcout
Hello world!


SB>Что не так делаю?


Возможно, что это это баг gcc, который исправлен в более поздних версиях.

SB>mingw-runtime-3.14

SB>gcc-g++-3.4.5
SB>gcc-core-3.4.5

[c0der@xxx ~]$ rpm -q gcc4.1-c++
gcc4.1-c++-4.1.2-alt1
Re: mingw и wcout
От: Mazay Россия  
Дата: 21.03.08 15:13
Оценка:
Здравствуйте, serg baburin, Вы писали:

SB>выдает:

SB>
SB>g++ -D_DEBUG -D_WINDOWS -D_UNICODE -D__GLIBCPP_USE_WSTRING -D__GLIBCXX_USE_WCHAR_T main.cpp
SB>main.cpp: In function `int main()':
SB>main.cpp:5: error: `wcout' is not a member of `std'
SB>


Для начала -D__GLIBCXX_USE_WCHAR_T замени на -D_GLIBCXX_USE_WCHAR_T
потом -D__GLIBCPP_USE_WSTRING на -D_GLIBCXX_USE_WSTRING
Главное гармония ...
Re: mingw и wcout
От: Mazay Россия  
Дата: 21.03.08 15:22
Оценка: 4 (1)
Здравствуйте, serg baburin, Вы писали:

Во как оказывается: http://www.mingw.org/MinGWiki/index.php/wide%20characters

The wide-character parts of the GCC Standard C++ Library (libstdc++) have not yet been fully ported to Windows, so you cannot use most of these features with MinGW. If you try to use things like std::wcout or basic_string<wchar_t> then you will probably get compiler or linker errors.


Главное гармония ...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.