Dear Developers,

I had a few minutes this morning so I thought that I would try and fix
some bugs related to XHTML output. However, I don't have access to my
normal laptop and was working on a Windows box with a 64 build of Qt
4.8, QtCreator (x64) and the mingw-w64 compiler.

In the process of trying to get the source to compile, I've run into a
number of problems. Some of these were fairly simple to resolve, such as
substituting intptr_t for int in a couple of places, but I've run into
one error that I can't seem to figure out. Here's the compiler output:

...src\support\ForkedCalls.cpp:-1: In member function 'void
lyx::support::<unnamed>::Murder::kill()':
...src\support\ForkedCalls.cpp:78: error: ambiguous overload for
'operator<<' in 'lyx::operator<<(((lyx::LyXErr&)(& lyx::lyxerr)),
((const char*)"Killed ")) <<
((lyx::support::<unnamed>::Murder*)this)->lyx::support::<unnamed>::Murder::pid_'
...src\support\debug.h:190: note:                 lyx::LyXErr&
lyx::operator<<(lyx::LyXErr&, const char*) <near match>
...support\debug.h:192: note:                 lyx::LyXErr&
lyx::operator<<(lyx::LyXErr&, char*) <near match>

in reference to this code (src/support/ForkedCalls.cpp, line 74):

voidkill()

    {

                if (pid_ != 0)

                        support::kill(pid_, SIGKILL);

        lyxerr << "Killed " << pid_ << endl;

                delete this;

        }


It then gives a bunch of templates (defined in debug.h) that are near
matches:

LyXErr&operator<<(LyXErr&,voidconst*);

LyXErr & operator<<(LyXErr &, const char *);

LyXErr & operator<<(LyXErr &, char);

LyXErr & operator<<(LyXErr &, char *);

LyXErr & operator<<(LyXErr &, int);

LyXErr & operator<<(LyXErr &, unsigned int);

LyXErr & operator<<(LyXErr &, long);

LyXErr & operator<<(LyXErr &, unsigned long);

LyXErr & operator<<(LyXErr &, double);

LyXErr & operator<<(LyXErr &, std::string const &);

LyXErr & operator<<(LyXErr &, docstring const &);

I've tried to Google the source of this error, but can't figure it. The
code compiles fine on Mac OS X, Linux, and 32 bit Windows mingw.
Moreover, there are templates for const char *, and char * so I don't
understand why it's not happy. The version of gmake is 3.82, the version
of the compiler is 4.5.4.

Is there something obvious that I'm missing?

Cheers,

Rob

Reply via email to