delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/09/25/00:59:27

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Date: Wed, 24 Sep 2003 21:59:14 -0700
To: cygwin AT cygwin DOT com
Subject: No support for wchar_t in latest Cygwin?
Message-ID: <20030925045912.GA2878@firesong>
Mime-Version: 1.0
User-Agent: Mutt/1.5.4i
From: Joshua Kwan <joshk AT triplehelix DOT org>

--cNdxnHkX5QqsyA0e
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hi, it's me again :)

I've been developing some software in C++ and have tested it on Linux
and FreeBSD, so I decided yesterday to test it on my Cygwin
installation.

The library I link against the program requires wchar_t support.
However, when I build it:

./toolkit/.libs/libtoolkit.a(tstring.o)(.text+0x18f5):tstring.cpp: undefined reference to `std::char_traits<wchar_t>::compare(wchar_t const*, wchar_t const*, unsigned)'
./toolkit/.libs/libtoolkit.a(tstring.o)(.text+0x1984):tstring.cpp: undefined reference to `std::char_traits<wchar_t>::length(wchar_t const*)'
./toolkit/.libs/libtoolkit.a(tstring.o)(.text+0x214c):tstring.cpp: undefined reference to `std::char_traits<wchar_t>::compare(wchar_t const*, wchar_t const*, unsigned)'
./toolkit/.libs/libtoolkit.a(tstring.o)(.text$_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_+0x19):tstring.cpp: undefined reference to `std::char_traits<wchar_t>::length(wchar_t const*)'
./toolkit/.libs/libtoolkit.a(tstring.o)(.text$_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwjj+0x3f):tstring.cpp: undefined reference to `std::char_traits<wchar_t>::compare(wchar_t const*, wchar_t const*, unsigned)'
./toolkit/.libs/libtoolkit.a(tstring.o)(.text$_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_jw+0x89):tstring.cpp: undefined reference to `std::char_traits<wchar_t>::assign(wchar_t*, unsigned, wchar_t)'
./toolkit/.libs/libtoolkit.a(tstring.o)(.text$_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_j+0x6f):tstring.cpp: undefined reference to `std::char_traits<wchar_t>::copy(wchar_t*, wchar_t const*, unsigned)'
./toolkit/.libs/libtoolkit.a(tstring.o)(.text$_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIPKwEEPwT_S7_RKS1_St20forward_iterator_tag+0x4a):tstring.cpp: undefined reference to `std::char_traits<wchar_t>::copy(wchar_t*, wchar_t const*, unsigned)'
./toolkit/.libs/libtoolkit.a(tstring.o)(.text$_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj+0xed):tstring.cpp: undefined reference to `std::char_traits<wchar_t>::copy(wchar_t*, wchar_t const*, unsigned)'
./toolkit/.libs/libtoolkit.a(tstring.o)(.text$_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj+0x114):tstring.cpp: undefined reference to `std::char_traits<wchar_t>::copy(wchar_t*, wchar_t const*, unsigned)'
./toolkit/.libs/libtoolkit.a(tstring.o)(.text$_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj+0x161):tstring.cpp: undefined reference to `std::char_traits<wchar_t>::move(wchar_t*, wchar_t const*, unsigned)'
./toolkit/.libs/libtoolkit.a(tstring.o)(.text$_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIN9__gnu_cxx17__normal_iteratorIPwS2_EEEES6_T_S8_RKS1_St20forward_iterator_tag+0x73):tstring.cpp: undefined reference to `std::char_traits<wchar_t>::copy(wchar_t*, wchar_t const*, unsigned)'
./toolkit/.libs/libtoolkit.a(tstring.o)(.text$_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_+0x79):tstring.cpp: undefined reference to `std::char_traits<wchar_t>::copy(wchar_t*, wchar_t const*, unsigned)'
./toolkit/.libs/libtoolkit.a(tstring.o)(.text$_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEEPwT_SA_RKS1_St20forward_iterator_tag+0x73):tstring.cpp: undefined reference to `std::char_traits<wchar_t>::copy(wchar_t*, wchar_t const*, unsigned)'
./toolkit/.libs/libtoolkit.a(tstring.o)(.text$_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_+0x79):tstring.cpp: undefined reference to `std::char_traits<wchar_t>::copy(wchar_t*, wchar_t const*, unsigned)'
collect2: ld returned 1 exit status

This is certainly a bummer :( I saw some emails on mailing lists that
discussed this problem, but I did not notice a conclusive solution. A
message on the GCC ML said that newlib had no UTF-8 support. So, is this
true? Is there a workaround that I can use?

Please CC me on replies, I'm not subscribed. Thanks!

P.S. Elfyn have you implemented {base,dir}name() [1] yet? ;)

[1] http://www.cygwin.com/ml/cygwin/2003-05/msg00010.html
--
Joshua Kwan

--cNdxnHkX5QqsyA0e
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)

iQIVAwUBP3J2IKOILr94RG8mAQLB6BAAjKqZ5DGBG0a8M9jVLpb30qPAokqYJjmp
7IzeDh2NbREHQDhugvqk0Y/eL5JHipiUTNzNDcgyplIU2MVy6Das3NnH5ALUkz0f
ADVqKe9uaWdwgAKZ8nnIcbz4tEkIY7Wus+YGeQ48pthTMZbA8J7LuhNmo5Ylzd9y
YpLccEsdNmfg+hA9rRbnRETkSTa9rFYwX3XxSt6R3YMvbaXxMri0Vdsx+AA87394
XuQW9gMC+7Ca7PbVpuZbDSXCCrvAahoMPbks8AFf8ULPlOcR0D1VHczlhbxJ7e//
8oFuoOOMNK9qGndLghFMP1tXYMx9b1IGKgxFuxv6R38OA/s6HDPb8na0wmu76vTy
uIRw0Hge3cEdCGMe6cOkoVrhHZ1kVrNmf6OH5ILVJUsRP4v9IO4QSxJPBDZraONy
oyT5lr1yRShW6tmROfBUyLFxIMzAga3shItwL9jEzBwB9Nv/j0b9RdYnYMfiP5xm
oSx829F7q5MnK9KTlEej+7Qfec5hp/SWfn096YU0PdBinNLAgw43WRrvpD41KnYt
GxDPrpFy0X5pEnXbvC+M6WybLCshh9drYUdqF8Gif3eoYHgLbZ1mbqsopcKd9WPY
gBE0VZkVQakG7sjP5ph+lGYF0HwXwyXBu1LoOB/xdUz+MwymjHIKhSatQ5mniWc0
S66YRVaGW3s=
=z+bm
-----END PGP SIGNATURE-----

--cNdxnHkX5QqsyA0e--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019