Hi,
The source code for Exceed appears superficially to be
easily portable to platforms other than Win32 (eg,
Linux). However, it is not valid C++, since it binds
non-const references to temporaries (eg, by passing a
temp to a function call expecting a T&). This is because
the code is not const-correct - many functions which
accept T& arguments ought to accept T const &
arguments.
It's unfortunate that Microsoft's compilers accept this
invalid code (and it's unfortunate that there appears to
be no way to convince g++ to accept it), but be
warned that the next release of their compiler is
supposed to be 100% standards-compliant by default,
meaning your code will not compile there either (without
some compiler flag hackery).
I'm part-way through modifying the code enough to get
it to compile, but I'm not finished yet, and more
importantly my changes aren't necessarily the right
ones (ie, I'm not always changing function signatures;
instead I'm sometimes changing their callers). If anyone
wants it, I can provide a patch when I'm done.
Richard Smith <exceed-bugs@metafoo.co.uk>
Logged In: NO
have you got it to build on gcc now?
Logged In: NO
Any progress on this issue?