[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Adonthell-devel] v0.4 event system
From: |
Alexandre Courbot |
Subject: |
Re: [Adonthell-devel] v0.4 event system |
Date: |
Sat, 24 Apr 2004 10:29:37 +0200 |
User-agent: |
Mozilla Thunderbird 0.5+ (X11/20040305) |
Btw - as said before -, the solution most likely is a s/SDL_Swap/Swap in
src/base/endian.h
Good luck!
I'm on it right now - actually, it requires a little bit more than that.
In flat.h, you are doing
(void*) &(SwapLE16 (i)) (line 138)
Which requires an address over a non-lvalue (since SwapLE16 expands to
an assembler expression on my machine).
GCC seems not to be able to know where an assembly expression will end.
Moving the Swap16 out of the loop solved the problem.
On the my other problem, the multiple declarations: it came from the
fact that the <string> header needed to include some file named
<endian.h>. But unfortunately, it was *our* endian.h in base that was
included, hence some macros were never defined. I've managed to solve it
by removing the DEFAULT_INCLUDES in Makefile.am, which includes the
current directory (it shouldn't - the base include directory for
Adonthell is src/ and we should always include our files with their
module directory, to avoid such confusions). I don't remember putting
these lines there, is it you, Kai, and is it needed for you to compile?
One last problem I had was with event/event.c.
It didn't like the class "event" in the "event" namespace. The "using
event::event" didn't help here. Nor did "using namespace event". Put I
had more luck with "namespace event { ... }" as in the header file.
Anyway, I'll upgrade to GCC 3.4. It's REALLY pedantic on the C++ syntax,
so we shouldn't meet such cases where it compiles on a machine and not
on another.
I'm waiting for your comments about the DEFAULT_INCLUDES Kai, and if ok
I'll commit. I had a successful build.
Alex.
--
http://www.gnurou.org