Jonathan Polley wrote:
>
> On Thursday, March 21, 2002, at 03:37 AM, Erik Hofman wrote:
>
> Jonathan Polley wrote:
>
> After getting SimGear to build under MSVC 6.0 (thanks Christian), I moved
>on to getting all of FlightGear to build. For some reason, MSVC does not like JSBSim
>(over 1200 errors generated) but I had no problem under RH 7.1 (as usual). I expect
>that everything is a snow ball started from the errors in FGPropertyManager.h.
> The full build result file can be found at:
> http://homepage.mac.com/eq_fidget/FG_Dox/FlightGear.html
>
> It's just a matter of removing (*all*) the 'FGPropertyManager::' sections
>within the class (or file).
>
> Erik
>
> When I do that, it complains about the multiple definitions of 'Tie.' When it starts
>failing the compile, it is on the second, and subsequent, definitions of
>'FGPropertyManager::Tie.'
>
> When I comment out *ALL* instances of 'Tie' (however you want to define it), I still
>get a major explosion which makes absolutely NO sense:
>
[snip]
You're right, it doesn't make any sense. Perhaps you commented out too
much?
Anyways, I've managed to compile a recent FlightGear JSBSim. The
problems I encountered seem to be that MSVC can not deduce which
overloaded member function to call:
Compiling...
FGAerodynamics.cpp
c:\src\flightgear\src\fdm\jsbsim\fgaerodynamics.cpp(229) : error C2661:
'Tie' : no overloaded function takes 4 parameters
Adding an ugly cast fixes the problem:
PropertyManager->Tie("forces/fbx-aero-lbs", this,1,
(double (FGAerodynamics::*)(int) const) &FGAerodynamics::GetForces);
A similar cast is required on every pointer to member function that
takes an index, probably because there is a similar named member
function that takes no index:
class FGAerodynamics : public FGModel {
...
FGColumnVector3& GetForces(void) {return vForces;}
inline double GetForces(int n) const {return vForces(n);}
On that note, since we are taking a pointer to a member function, the
compiler must emit a function body. Thus the member function can't be
inline. This may help decide which functions to inline.
Cheers,
Bernie
_______________________________________________
Flightgear-devel mailing list
[EMAIL PROTECTED]
http://mail.flightgear.org/mailman/listinfo/flightgear-devel