The fpos_t type should be defined in stdio.h.   It is permissable for fpos_t
to be defined as any type except an array.  Most compilers define it as some
form of integer and math operations can be performed upon it.  However, this
is not part of the standard.  

The C standard only mentions using fpos_t as a parameter to the fgetpos and
fsetpos functions.  It also permits using a struct for this type.  This
would mean that no mathmatical operations would work.  I believe that this
may be the case that is causing your problem.  

As I see it you have two solutions.  The first is to disable sb16 support
when you configure bochs.  The second is to look at you compiler's
definition of fpos_t and replace the error-causing lines with code
appropriate to your machine.

-----Original Message-----
From: Johnathan Hicks [mailto:[EMAIL PROTECTED]]
Sent: Thursday, March 22, 2001 12:24 PM
To: plex86
Subject: [plex86] problem building bochs


I'm guessing that this is the place to take bochs issues as well as
plex86? Presuming that it is, I seem to be haveing problems building
bochs as this shows:

sb16.cc: In function `static void bx_sb16_c::finishmidifile()':
sb16.cc:2788: no match for `fpos_t & -= int'
sb16.cc:2794: no match for `fpos_t & << int'
sb16.cc:2794: no match for `fpos_t & >> int'
sb16.cc:2795: no match for `fpos_t & & int'
sb16.cc:2796: no match for `fpos_t & & int'

I hope this can be fixed.
Thanks.

--John



Reply via email to