This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

wstring in gcc


Hi ,
Does gcc 3.1 support wstring ? If it does not then how can I make my code to use wide character
strings?


I have found following things in the gcc  installation directory..
1) /usr/include/gcc/darwin/2.95.2/g++/string

Line No : 10
// typedef basic_string <wchar_t> wstring;

wstring is commented out for gcc 2.95

2) /usr/include/gcc/darwin/3.1/g++-v3/

iosfwd:124:  typedef basic_stringbuf<wchar_t>   wstringbuf;
iosfwd:127:  typedef basic_stringstream<wchar_t>        wstringstream;

bits/stringfwd.h:64 typedef basic_string<wchar_t> wstring;

I am using gcc 3.1 for compilation but still it is giving problem.

Any help will be highly appreciated.

Thanks & Regards,
Abhijit



Following is the sample code and program output....

/ ************************************************************************ *******************/
include <string>
#include <iostream>
#include<iosfwd>


int  main( )
{
   using namespace std;
   // Equivalent ways to declare an object of type
   // basic_string <wchar_t>
   const basic_string <wchar_t> s1 ( L"abc" );
   wstring  s2( L"abc");   // Uses the typedef for wstring

// Comparison between two objects of type basic_string <wchar_t>
if ( s1 == s2 )
cout << "The strings s1 & s2 are equal." << endl;
else
cout << "The strings s1 & s2 are not equal." << endl;
return 0;
}
/ ************************************************************************ *******************/



Compilation Error :


[Abhijit-Guptas-Computer:~] abhijitg% gcc testuni.cpp

ld: Undefined symbols:
std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::compare(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) const
std::allocator<wchar_t>::allocator[in-charge]()
std::allocator<wchar_t>::~allocator [in-charge]()
std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string[in-charge](wchar_t const*, std::allocator<wchar_t> const&)
std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::~basic_string [in-charge]()
std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))
std::ios_base::Init::Init[in-charge]()
std::ios_base::Init::~Init [in-charge]()
std::cout
std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)
std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)
___gxx_personality_v0


Attachment: InterScan_Disclaimer.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]