[PD-dev] [GEM] GEM CVS... x-platform issues
guenter geiger
geiger at xdv.org
Fri Feb 28 10:36:24 CET 2003
On Fri, 28 Feb 2003, Daniel Heckenberg wrote:
> 1) Problem: 'for' scoping for VC++ 6.0 isn't compatible with the "new ISO"
> style scoping that GCC seems to support/default to.
>
> E.g.
> for (int i=0; i < i_max; i++)
> func(i);
> for (int I=0; i < i_MAX; i++) // causes VC++ redefinition error
> func2(i);
>
> Short-term Solution: I just removed any variable redefinitions that caused
> compiler errors under VC++. This may now result in warnings on other
> platforms. This is undesirable and I don't want to suggest that the code
> should conform to VC++ non-conformance...
This is not non-conformance, if you find constructs like the ones you
mentioned, you have to change them, this is true for all platforms.
int i;
for (i=0;...) ...
>
> Long-term Solution: We probably should code to avoid both the VC++ error and
> the GCC warning.
Definitely.
>
> 2) Problem: Windows needs to have <windows.h> explicitly included before
> many of the "platform independent" GL headers (e.g. gl.h, glu.h etc).
>
> Short-term Solution: I added the #ifdef _WINDOWS etc. inclusion of windows.h
> wherever it's need... including the "I hate windows, I shouldn't have to do
> this". Whose immortal words are those, anyway?!
:) this was Mark, probably when he ported from SGI to windows.
> Long-term Solution: I'll see if it's easy to add windows.h as a default
> include somehow so we can avoid pollution of the GEM source. OTOH, this
> causes a bit of obfuscation and "make" builds would be complicated....
>
Yes, I think in the long termit is better to make the OS specific
#ifdefs only in few places. The best solution would be to have these
just in one file.
Guenter
More information about the Pd-dev
mailing list