[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: Here is the patch




I tried for an hour or so to fix it up, but to no avail. Strangely enough the errors look
slightly different sometimes. From my experience, the most likely reason for such errors
(which are a bitch to pin down, btw) is problems with includes and inlining, or
static/const breakage.

Sorry. Someone else had more luck?

Jens


Your right about the annoying nature of the bug! It has never manifested in my windows build - likely there is some difference in the virtual table structure.

The fix turns out to be quite simple: in ai.h append =0 to the virtual function definitions. Silly error, but jeeze, it would be nice if gcc gave a better error.

to reiterate, fix ai.h so that:
class AI {
public:
AI( Mission &mission ) {};
virtual void Play( void ) = 0;
virtual const char* GetName() = 0;
virtual unsigned short GetID() = 0;
static AI *AIHelper(unsigned short id, Mission &mission); }

Also the linux build seems to have a few problems:
AM_PATH_SDL issue that was mentioned on the list earlier is due to SDL standard install location, if you look at SDL_ttf or SDL_mixer the standard fix is to include acinclude.m4 with the source distribution.
It may be a good idea in future to stick autogen.sh with the source dist. as well, I know its in the CVS, but it may be helpful.
Also if you watch aclocal/autoconfig, there is an error about out of order calls - I'm no auto* expert, so I leave it to those who know more - if you can't reproduce it, I can always grab a copy of the error.