This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
wstring in gcc
- From: Abhijit Gupta <abhijit dot gupta at wipro dot com>
- To: gcc at gcc dot gnu dot org
- Date: Wed, 12 Mar 2003 20:25:43 +0530
- Subject: 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