On Thu, Nov 08, 2007 at 11:43:36PM +0100, Andre Poenitz wrote:
> On Thu, Nov 08, 2007 at 10:58:00PM +0100, Enrico Forestieri wrote:
> > On Thu, Nov 08, 2007 at 10:31:02PM +0100, Andre Poenitz wrote:
> > 
> > > I am currently compiling with the attached changes. Would be nice if you
> > > could verify that it would work for you as well.
> > 
> > I get the following error:
> > 
> > g++ -DHAVE_CONFIG_H -I. -I../../../src/support -I../../src 
> > -I../../../src/support/.. -I../../../boost -DQT_CLEAN_NAMESPACE 
> > -DQT_GENUINE_STR -DQT_NO_STL -DQT_NO_KEYWORDS -DQ_CYGWIN_WIN 
> > -I/usr/local/qt/4.3.2/include -I/usr/local/qt/4.3.2/include/QtCore 
> > -I../../../src/support/minizip -pipe -O2 -MT convert.lo -MD -MP -MF 
> > .deps/convert.Tpo -c ../../../src/support/convert.cpp -o convert.o
> > In file included from ../../../src/support/convert.h:19,
> >                  from ../../../src/support/convert.cpp:14:
> > /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/basic_string.h: In 
> > instantiation of `std::basic_string<lyx::char_type, 
> > std::char_traits<lyx::char_type>, std::allocator<lyx::char_type> >':
> > ../../../src/support/../support/docstring.h:63:   instantiated from here
> > /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/basic_string.h:115: 
> > error: invalid use of undefined type `struct 
> > std::char_traits<lyx::char_type>'
> 
> Hm... the easy way out would probably be an #include <string> or such
> guarded by #ifdef SOMETHING_CYGWIN_SPECIFIC.

I don't think this is cygwin specific, though.

> But there should be something cheaper.
> 
> Is USE_WCHAR_T defined for you?

No.

> What type is lyx::char_type typedef'ed to?

Seems to be unsigned long.

> For what types do you have char_traits<> specialized?

gcc has only specializations for char and wchar_t.

The only way out that I see is a full blown specialization for
lyx::char_type, something like:

template<>
    struct char_traits<lyx::char_type>
    {
       ... put here what is needed...
    };

-- 
Enrico

Reply via email to