JMarc> I am a bit surprised by the following: JMarc> -Bullet::Bullet(const int f, const int c, const int s) JMarc> +Bullet::Bullet(int f, int c, int s) Whoa! Aren't f, c and s passed by value here, so it makes no sense to declare them const anyway? JMarc> Also, this JMarc> -// need to make the c++ compiler fint the correct version of abs. JMarc> +// need to make the c++ compiler find the correct version of abs. JMarc> // This is at least true for g++. JMarc> +#ifdef __GNUG__ JMarc> using std::abs; JMarc> +#endif JMarc> is not right, since one should never condition on compilers (against JMarc> autoconf philosophy). The best is probably to add the proper JMarc> definitions in cheaders/cmath. cheaders/cmath seems to have the required code in there already. Simply commenting out // #ifdef __GNUG__ // using std::abs; // #endif works for me. This code appears to be redundant then. JMarc> I also tried to find in the list archive which string method of gcc JMarc> 2.x.y was supposed to have arguments in the wrong order, and could not JMarc> find it. Lars, any clue? The simple swap of erase() for clear() will work with lyxstring. It will also allow me to compile with DEC's std::string. That was my motivation; it don't break nothing (since most people compile with lyxstring), yet allows me to compile also. Angus