>From compiling SimGear (this is only the last part of the clouds-3d
mess):

SkyRenderableInstanceCloud.hpp:230: warning: argument to `int' from
`float'
In file included from SkyRenderableInstance.hpp:27,
                 from SkySceneManager.hpp:38,
                 from SkySceneManager.cpp:29:
mat33.hpp:60: warning: friend declaration `Vec3<Type> operator*(const 
   Vec3<Type>&, const Mat33<Type>&)' declares a non-template function
mat33.hpp:60: warning: (if this is not what you intended, make sure the 
   function template has already been declared and add <> after the
function 
   name here) -Wno-non-template-friend disables this warning
mat33.hpp:64: warning: friend declaration `Mat33<Type> operator*(Type,
const 
   Mat44<Type>&)' declares a non-template function
In file included from SkySceneManager.hpp:41,
                 from SkySceneManager.cpp:29:
SkyRenderableInstanceCloud.hpp: In member function `int 
   SkyRenderableInstanceCloud::_GetRequiredLogResolution(float, float,
float)':
SkyRenderableInstanceCloud.hpp:230: warning: initialization to `int'
from `
   float'
SkyRenderableInstanceCloud.hpp:230: warning: argument to `int' from
`float'
cloud.cxx: In member function `bool SGCloudLayer::reposition(float*,
float*, 
   double, double, double, double)':
cloud.cxx:705: `isnan' undeclared (first use this function)
cloud.cxx:705: (Each undeclared identifier is reported only once for
each 
   function it appears in.)
make[5]: *** [cloud.o] Error 1
make[4]: *** [all-recursive] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1

This was sorted out by uncommenting lines 28&29 of cloud.cxx:

// #if defined (__APPLE__) 
// // any C++ header file undefines isinf and isnan
// // so this should be included before <iostream>
inline int (isinf)(double r) { return isinf(r); } //See below
inline int (isnan)(double r) { return isnan(r); } //HACK to make MingW
MsyS build work. Find better solution ASAP. May well break other
systems.
// #endif

(I added the end of line comments)
SimGear now compiles, but this is hardly a good solution. Does anybody
know what's going on here? Why is isnan() being undefined?

I have a feeling this may have come up before, but I can't find it in
the archives, or remember the solution.

Giles Robertson
[EMAIL PROTECTED]



_______________________________________________
Flightgear-devel mailing list
[EMAIL PROTECTED]
http://mail.flightgear.org/mailman/listinfo/flightgear-devel

Reply via email to