Re: [Flightgear-devel] Problems Building JSBSim using MSVC 6.0

2002-03-21 Thread Erik Hofman

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



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



Re: [Flightgear-devel] Problems Building JSBSim using MSVC 6.0

2002-03-21 Thread Jonathan Polley
 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:


Compiling...
FGAerodynamics.cpp
c:\flightgear\src\fdm\jsbsim\fgmodel.h(67) : error C2059: syntax error : 'namespace'
c:\flightgear\src\fdm\jsbsim\fgmodel.h(67) : error C2238: unexpected token(s) preceding ';'
c:\program files\microsoft visual studio\vc98\include\fstream(15) : error C2059: syntax error : 'namespace'
c:\program files\microsoft visual studio\vc98\include\fstream(15) : error C2334: unexpected token(s) preceding '{'; skipping apparent function body
c:\flightgear\src\fdm\jsbsim\fgconfigfile.h(46) : error C2886: 'std::string' : symbol cannot be used in a member using-declaration
c:\flightgear\src\fdm\jsbsim\fgconfigfile.h(48) : error C2886: 'std::ostream' : symbol cannot be used in a member using-declaration
c:\flightgear\src\fdm\jsbsim\fgconfigfile.h(49) : error C2886: 'std::istream' : symbol cannot be used in a member using-declaration
c:\flightgear\src\fdm\jsbsim\fgconfigfile.h(50) : error C2886: 'std::ifstream' : symbol cannot be used in a member using-declaration
c:\flightgear\src\fdm\jsbsim\fgconfigfile.h(51) : error C2886: 'std::cerr' : symbol cannot be used in a member using-declaration
c:\flightgear\src\fdm\jsbsim\fgconfigfile.h(52) : error C2886: 'std::endl' : symbol cannot be used in a member using-declaration
c:\flightgear\src\fdm\jsbsim\fgconfigfile.h(53) : error C2886: 'std::ios' : symbol cannot be used in a member using-declaration
c:\flightgear\src\fdm\jsbsim\fgconfigfile.h(54) : error C2886: 'std::cout' : symbol cannot be used in a member using-declaration
c:\flightgear\src\fdm\jsbsim\fgmatrix33.h(30) : error C2886: 'std::string' : symbol cannot be used in a member using-declaration
c:\flightgear\src\fdm\jsbsim\fgmatrix33.h(32) : error C2886: 'std::ostream' : symbol cannot be used in a member using-declaration
c:\flightgear\src\fdm\jsbsim\fgmatrix33.h(33) : error C2886: 'std::istream' : symbol cannot be used in a member using-declaration
c:\flightgear\src\fdm\jsbsim\fgmatrix33.h(34) : error C2886: 'std::cerr' : symbol cannot be used in a member using-declaration
c:\flightgear\src\fdm\jsbsim\fgmatrix33.h(35) : error C2886: 'std::cout' : symbol cannot be used in a member using-declaration
c:\flightgear\src\fdm\jsbsim\fgmatrix33.h(36) : error C2886: 'std::endl' : symbol cannot be used in a member using-declaration
c:\flightgear\src\fdm\jsbsim\fgcolumnvector3.h(28) : error C2886: 'std::string' : symbol cannot be used in a member using-declaration
c:\flightgear\src\fdm\jsbsim\fgcolumnvector3.h(30) : error C2886: 'std::ostream' : symbol cannot be used in a member using-declaration
c:\flightgear\src\fdm\jsbsim\fgcolumnvector3.h(31) : error C2886: 'std::istream' : symbol cannot be used in a member using-declaration
c:\flightgear\src\fdm\jsbsim\fgcolumnvector3.h(32) : error C2886: 'std::cerr' : symbol cannot be used in a member using-declaration
c:\flightgear\src\fdm\jsbsim\fgcolumnvector3.h(33) : error C2886: 'std::cout' : symbol cannot be used in a member using-declaration


Jonathan Polley


Re: [Flightgear-devel] Problems Building JSBSim using MSVC 6.0

2002-03-24 Thread Bernie Bright

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



RE: [Flightgear-devel] Problems Building JSBSim using MSVC 6.0

2002-03-24 Thread Jon Berndt

> 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


Are we doing something unusual, or is MSVC requiring something it shouldn't?

Jon


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



RE: [Flightgear-devel] Problems Building JSBSim using MSVC 6.0

2002-03-24 Thread Tony Peden

On Sun, 2002-03-24 at 06:43, Jon Berndt wrote:
> > 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
> 
> 
> Are we doing something unusual, or is MSVC requiring something it shouldn't?

Aside from the point about the inlines, it seems like it should be just
fine.  The overload is fair and legal.

> 
> Jon
> 
> 
> ___
> Flightgear-devel mailing list
> [EMAIL PROTECTED]
> http://mail.flightgear.org/mailman/listinfo/flightgear-devel
> 
-- 
Tony Peden
[EMAIL PROTECTED]
We all know Linux is great ... it does infinite loops in 5 seconds. 
-- attributed to Linus Torvalds

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



RE: [Flightgear-devel] Problems Building JSBSim using MSVC 6.0

2002-03-24 Thread David Megginson

Jon Berndt writes:

 > Are we doing something unusual, or is MSVC requiring something it
 > shouldn't?

The latter, I think, since the pointer type can be determined
unambiguously from the method signature.


All the best,


David

-- 
David Megginson
[EMAIL PROTECTED]


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



Re: [Flightgear-devel] Problems Building JSBSim using MSVC 6.0

2002-03-24 Thread Jonathan Polley


On Sunday, March 24, 2002, at 04:18 AM, Bernie Bright wrote:

> 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?
>

I probably did.  I removed teh definitions rather than the removing the 
'FGPropertyManager::' portion of the definitions.

> 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

After Tony made his updates, I sent a post that told about the problems 
with the 'Tie' parameter counts:

http://seneca.me.umn.edu/pipermail/flightgear-devel/2002-March/005703.html

> Adding an ugly cast fixes the problem:
>
>   PropertyManager->Tie("forces/fbx-aero-lbs", this,1,
> (double (FGAerodynamics::*)(int) const) &FGAerodynamics::GetForces);

I'll roll that change into my copy until it gets made permanently.  While 
we are on the subject of MSVC, were you able to link with the files from 
CVS?  In addition to the new files, I had to modify some other parts to 
the .dsp file(s) to make a link.

Thanks,

Jonathan Polley


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



RE: [Flightgear-devel] Problems Building JSBSim using MSVC 6.0

2002-03-24 Thread Jon Berndt

> > Adding an ugly cast fixes the problem:
> >
> >   PropertyManager->Tie("forces/fbx-aero-lbs", this,1,
> > (double (FGAerodynamics::*)(int) const) &FGAerodynamics::GetForces);
>
> I'll roll that change into my copy until it gets made permanently.  While


We'll do a little investigating, first. I want to understand why MSVC is
having problems, first, when no other compiler appears to be complaining. We
want to remain as cross-platform/cross-compiler compatible as possible, but
as a matter of policy, I am extremely hesitant to make crutches in our code
to fix a crippled compiler - if, indeed, it turns out to be a problem with
MSVC. Do you have any explanatory backup for why MSVC isn't working with
this? I know this sounds rude of me, but I hope you can see where I am
coming from.

Jon


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



Re: [Flightgear-devel] Problems Building JSBSim using MSVC 6.0

2002-03-24 Thread Bernie Bright

Jonathan Polley wrote:
> 
> While we are on the subject of MSVC, were you able to link with the files from
> CVS?  In addition to the new files, I had to modify some other parts to
> the .dsp file(s) to make a link.

I have compiled and linked a recent (one or two day old) cvs snapshot
using MSVC6.  Some customizations are required to the project file,
library paths for example.  I did have problems linking with multiply
defined symbols.  It turned out that plib is compiled multi-threaded
whilst everything else is single threaded.  Recompiling plib solved the
problem.

The workspace and project files are auto generated.  I wrote the script
that generates them.  If you have specific requests or ideas in that
area then contact me offline.  There are some minor tweaks I was about
to submit to Curt but I can hold off for a day or two.

Cheers,
Bernie

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



RE: [Flightgear-devel] Problems Building JSBSim using MSVC 6.0

2002-03-24 Thread Norman Vine

Jon Berndt writes:
>
>> > Adding an ugly cast fixes the problem:
>> >
>> >   PropertyManager->Tie("forces/fbx-aero-lbs", this,1,
>> > (double (FGAerodynamics::*)(int) const)
>&FGAerodynamics::GetForces);
>>
>> I'll roll that change into my copy until it gets made
>permanently.  While
>
>
>We'll do a little investigating, first. I want to understand why MSVC is
>having problems, first, when no other compiler appears to be complaining.
We
>want to remain as cross-platform/cross-compiler compatible as possible, but
>as a matter of policy, I am extremely hesitant to make crutches in our code
>to fix a crippled compiler - if, indeed, it turns out to be a problem with
>MSVC. Do you have any explanatory backup for why MSVC isn't working with
>this?

Jon, I don't think there is a 'conforming' compiler yet, and MSVC6 is
several years
old and I wonder how well the then current gnu stdlib++ would have handled
that
construct :-))

That said I will agree that MSVC6 even with all the service packs
is a 'little' behind most of the others in being able to handle some of
the more 'arcane' bits of C++.

There is STLPort however that should work just with just about any compiler
even MSVC :-)

http://www.stlport.org

Cheers

Norman


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



Re: [Flightgear-devel] Problems Building JSBSim using MSVC 6.0

2002-03-24 Thread Bernie Bright

Jon Berndt wrote:
> 
> > > Adding an ugly cast fixes the problem:
> > >
> > >   PropertyManager->Tie("forces/fbx-aero-lbs", this,1,
> > > (double (FGAerodynamics::*)(int) const) &FGAerodynamics::GetForces);
> >
> > I'll roll that change into my copy until it gets made permanently.  While
> 
> We'll do a little investigating, first. I want to understand why MSVC is
> having problems, first, when no other compiler appears to be complaining. We
> want to remain as cross-platform/cross-compiler compatible as possible, but
> as a matter of policy, I am extremely hesitant to make crutches in our code
> to fix a crippled compiler - if, indeed, it turns out to be a problem with
> MSVC. Do you have any explanatory backup for why MSVC isn't working with
> this? I know this sounds rude of me, but I hope you can see where I am
> coming from.

I'm not sure if it is actually a problem with MSVC or if other compilers
have different rules when it comes to taking the address of an
overloaded function.  I have encountered this exact same problem before,
with even gcc requiring a cast to disambiguate pointers to overloaded
member functions.  Note that the cast is portable, I've tested with gcc
2.95.3 at least.

The only explanation I can offer is that &FGAerodynamics::GetForces is
ambiguous given the declaration

class FGAerodynamics : public FGModel {
  FGColumnVector3& GetForces(void);
  double   GetForces(int n) const;
  ...

The cast is a hint to the compiler which of the two GetForces() member
functions we are taking the address of.  I have no idea why MSVC can't
deduce the correct member while other compilers can but that is the
essence of the problem as I understand it.

Cheers,
Bernie

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



Re: [Flightgear-devel] Problems Building JSBSim using MSVC 6.0

2002-03-24 Thread Bernie Bright

Norman Vine wrote:
> 
> Jon, I don't think there is a 'conforming' compiler yet, and MSVC6 is
> several years
> old and I wonder how well the then current gnu stdlib++ would have handled
> that
> construct :-))
> 

I believe Comeau is 99.9% conforming but it is not free.  I also believe
that MSVC7 is much much better, they are using boost
(http://www.boost.org) as one of their conformance acceptance tests, as
are the gcc 3 crew.

> That said I will agree that MSVC6 even with all the service packs
> is a 'little' behind most of the others in being able to handle some of
> the more 'arcane' bits of C++.
> 
> There is STLPort however that should work just with just about any compiler
> even MSVC :-)
> 
True, however this particular problem is compiler related not library
related for once.

Cheers,
Bernie

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



RE: [Flightgear-devel] Problems Building JSBSim using MSVC 6.0

2002-03-24 Thread Jon Berndt

> from: [EMAIL PROTECTED]

You aren't at Flight Dynamics division, are you?

> error.  Does specifying '--pedantic' on the gcc command line cause any
> other warnings?
> Jonathan Polley

If I try using the --pedantic option I get this:

--- start --
g++ -I../ --pedantic -Wall -oFGDeadBand.o -c FGDeadBand.cpp
g++ -I../ --pedantic -Wall -oFGFilter.o -c FGFilter.cpp
FGFilter.cpp: In method `void FGFilter::Debug(int)':
FGFilter.cpp:224: warning: use proper indentation
FGFilter.cpp:224: warning: you are obviously a newbie; try Visual Basic
g++ -I../ --pedantic -Wall -oFGGradient.o -c FGGradient.cpp
g++ -I../ --pedantic -Wall -oFGSwitch.o -c FGSwitch.cpp
g++ -I../ --pedantic -Wall -oFGFCSComponent.o -c FGFCSComponent.cpp
FGFCSComponent.cpp: warning: you didn't use `itBias' what's the deal!?
FGFCSComponent.cpp:91: warning: This code is nauseating me
g++ -I../ --pedantic -Wall -oFGGain.o -c FGGain.cpp
FGGain.cpp: In method `void FGGain::Debug(int)':
FGGain.cpp: error: compiler getting sick ... cannot go on ... must .

Internal combustion error

--- end --

So, obviously something is wrong. Not only am I perplexed, I am offended and
crushed.

;-)

Actually, I tried the --pedantic option and got no additional errors. My gcc
version is 2.95.3-5


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



RE: [Flightgear-devel] Problems Building JSBSim using MSVC 6.0

2002-03-24 Thread Tony Peden

On Sun, 2002-03-24 at 18:09, Jon Berndt wrote:
> > from: [EMAIL PROTECTED]
> 
> You aren't at Flight Dynamics division, are you?
> 
> > error.  Does specifying '--pedantic' on the gcc command line cause any
> > other warnings?
> > Jonathan Polley
> 
> If I try using the --pedantic option I get this:
> 
> --- start --
> g++ -I../ --pedantic -Wall -oFGDeadBand.o -c FGDeadBand.cpp
> g++ -I../ --pedantic -Wall -oFGFilter.o -c FGFilter.cpp
> FGFilter.cpp: In method `void FGFilter::Debug(int)':
> FGFilter.cpp:224: warning: use proper indentation
> FGFilter.cpp:224: warning: you are obviously a newbie; try Visual Basic
> g++ -I../ --pedantic -Wall -oFGGradient.o -c FGGradient.cpp
> g++ -I../ --pedantic -Wall -oFGSwitch.o -c FGSwitch.cpp
> g++ -I../ --pedantic -Wall -oFGFCSComponent.o -c FGFCSComponent.cpp
> FGFCSComponent.cpp: warning: you didn't use `itBias' what's the deal!?
> FGFCSComponent.cpp:91: warning: This code is nauseating me
> g++ -I../ --pedantic -Wall -oFGGain.o -c FGGain.cpp
> FGGain.cpp: In method `void FGGain::Debug(int)':
> FGGain.cpp: error: compiler getting sick ... cannot go on ... must .
> 
> Internal combustion error
> 
> --- end --

Are you sure you didn't use the --whine switch?

> 
> So, obviously something is wrong. Not only am I perplexed, I am offended and
> crushed.
> 
> ;-)
> 
> Actually, I tried the --pedantic option and got no additional errors. My gcc
> version is 2.95.3-5
> 
> 
> ___
> Flightgear-devel mailing list
> [EMAIL PROTECTED]
> http://mail.flightgear.org/mailman/listinfo/flightgear-devel
-- 
Tony Peden
[EMAIL PROTECTED]
We all know Linux is great ... it does infinite loops in 5 seconds. 
-- attributed to Linus Torvalds

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



Re: [Flightgear-devel] Problems Building JSBSim using MSVC 6.0

2002-03-24 Thread Jonathan Polley
 On Sunday, March 24, 2002, at 08:49 PM, Tony Peden wrote:

On Sun, 2002-03-24 at 18:09, Jon Berndt wrote:
from: [EMAIL PROTECTED]

You aren't at Flight Dynamics division, are you?

error.  Does specifying '--pedantic' on the gcc command line cause any
other warnings?
Jonathan Polley

If I try using the --pedantic option I get this:

--- start --
g++ -I../ --pedantic -Wall -oFGDeadBand.o -c FGDeadBand.cpp
g++ -I../ --pedantic -Wall -oFGFilter.o -c FGFilter.cpp
FGFilter.cpp: In method `void FGFilter::Debug(int)':
FGFilter.cpp:224: warning: use proper indentation
FGFilter.cpp:224: warning: you are obviously a newbie; try Visual Basic
g++ -I../ --pedantic -Wall -oFGGradient.o -c FGGradient.cpp
g++ -I../ --pedantic -Wall -oFGSwitch.o -c FGSwitch.cpp
g++ -I../ --pedantic -Wall -oFGFCSComponent.o -c FGFCSComponent.cpp
FGFCSComponent.cpp: warning: you didn't use `itBias' what's the deal!?
FGFCSComponent.cpp:91: warning: This code is nauseating me
g++ -I../ --pedantic -Wall -oFGGain.o -c FGGain.cpp
FGGain.cpp: In method `void FGGain::Debug(int)':
FGGain.cpp: error: compiler getting sick ... cannot go on ... must .

Internal combustion error

--- end --

Are you sure you didn't use the --whine switch?

I think --pedantic == --whine.

FWIW, this is Merrian-Webster has to say )

Pronunciation: pi-'dan-tik
Function: adjective
Date: circa 1600
1 : of, relating to, or being a pedant
2 : narrowly, stodgily, and often ostentatiously learned
3 : UNIMAGINATIVE, PEDESTRIAN


So, obviously something is wrong. Not only am I perplexed, I am offended and
crushed.

;-)

Actually, I tried the --pedantic option and got no additional errors. My gcc
version is 2.95.3-5


In the past, when MSVC complained about something and gcc did not, using --pedantic caused them to agree (MSVC would be errors and gcc would be warnings).  I was hoping this would be the case again.  *sign*

I am grasping at some pretty thin straws with these, but do this make any sense:

Could the compiler be getting confused by the (inlined?) functions called Tie and the templates called Tie?  The versions of Tie that have four parameters are the templates, as far as I can tell.

If this were C or Ada, I could probably point to the problem, but this being C++, and templates to boot, I haven't the foggiest idea.


Thanks,

Jonathan Polley


RE: [Flightgear-devel] Problems Building JSBSim using MSVC 6.0

2002-03-24 Thread Norman Vine



Jonathan Polley  
writes: 
 
 FGFilter.cpp: In method `void 
FGFilter::Debug(int)':FGFilter.cpp:224: warning: use proper 
indentationFGFilter.cpp:224: warning: you are obviously a newbie; try Visual 
Basic 
 
If you 
look at line 224 there is some 'strange formatting' in the cout 
<<
 
I 
would suggest concatenating line 224 qnd line 225 into one 

 --following all one line--
 cout << "  INPUT: FCS Component 
" << InputIdx << " (" <<  
fcs->GetComponentName(InputIdx) << ")" << 
endl;
 
or 
breaking it up something like this
 
 cout << 
"  INPUT: FCS Component " << InputIdx 
<< " (" ;
 cout  <<  
fcs->GetComponentName(InputIdx) << ")" << endl; 
 
Cheers
 
Norman
 


RE: [Flightgear-devel] Problems Building JSBSim using MSVC 6.0

2002-03-25 Thread Tony Peden

On Sun, 2002-03-24 at 11:28, Jon Berndt wrote:
> > > Adding an ugly cast fixes the problem:
> > >
> > >   PropertyManager->Tie("forces/fbx-aero-lbs", this,1,
> > > (double (FGAerodynamics::*)(int) const) &FGAerodynamics::GetForces);
> >
> > I'll roll that change into my copy until it gets made permanently.  While
> 
> 
> We'll do a little investigating, first. I want to understand why MSVC is
> having problems, first, when no other compiler appears to be complaining. We
> want to remain as cross-platform/cross-compiler compatible as possible, but
> as a matter of policy, I am extremely hesitant to make crutches in our code
> to fix a crippled compiler - if, indeed, it turns out to be a problem with
> MSVC. Do you have any explanatory backup for why MSVC isn't working with
> this? I know this sounds rude of me, but I hope you can see where I am
> coming from.

It's unfortunate but I think we're going to have to incorporate this
cast.

However, I do think we could clean it up a bit with a pre-processor
define:
#define AEROINTFUNC double (FGAerodynamics::*)(int) const
then
PropertyManager->Tie("forces/fbx-aero-lbs", this,1,
 (AEROINTFUNC)&FGAerodynamics::GetForces);

Hopefully, its still clear that that is a cast.

Assuming Jon does not object, I will accept patches that look like the
above.


> 
> Jon
> 
> 
> ___
> Flightgear-devel mailing list
> [EMAIL PROTECTED]
> http://mail.flightgear.org/mailman/listinfo/flightgear-devel
-- 
Tony Peden
[EMAIL PROTECTED]
We all know Linux is great ... it does infinite loops in 5 seconds. 
-- attributed to Linus Torvalds

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



Re: [Flightgear-devel] Problems Building JSBSim using MSVC 6.0

2002-03-25 Thread Bernie Bright

Tony Peden wrote:
> 
> It's unfortunate but I think we're going to have to incorporate this
> cast.
> 
> However, I do think we could clean it up a bit with a pre-processor
> define:
> #define AEROINTFUNC double (FGAerodynamics::*)(int) const
> then
> PropertyManager->Tie("forces/fbx-aero-lbs", this,1,
>  (AEROINTFUNC)&FGAerodynamics::GetForces);
> 
> Hopefully, its still clear that that is a cast.
> 
> Assuming Jon does not object, I will accept patches that look like the
> above.

Okay, I'll make the changes to the current JSBSim cvs snapshot (not the
one in FlightGear) and send you the patches.  However I might try a
typedef instead of a macro.

Cheers,
Bernie

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



RE: [Flightgear-devel] Problems Building JSBSim using MSVC 6.0

2002-03-25 Thread Jon Berndt

> > Assuming Jon does not object, I will accept patches that look like the
> > above.
>
> Okay, I'll make the changes to the current JSBSim cvs snapshot (not the
> one in FlightGear) and send you the patches.  However I might try a
> typedef instead of a macro.


I'm not quite ready to "not object". Give me this evening to have another
look and grow slowly to accept the inevitable ;-)

Jon


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



Re: [Flightgear-devel] Problems Building JSBSim using MSVC 6.0

2002-03-25 Thread Tony Peden

On Mon, 2002-03-25 at 15:43, Bernie Bright wrote:
> Tony Peden wrote:
> > 
> > It's unfortunate but I think we're going to have to incorporate this
> > cast.
> > 
> > However, I do think we could clean it up a bit with a pre-processor
> > define:
> > #define AEROINTFUNC double (FGAerodynamics::*)(int) const
> > then
> > PropertyManager->Tie("forces/fbx-aero-lbs", this,1,
> >  (AEROINTFUNC)&FGAerodynamics::GetForces);
> > 
> > Hopefully, its still clear that that is a cast.
> > 
> > Assuming Jon does not object, I will accept patches that look like the
> > above.
> 
> Okay, I'll make the changes to the current JSBSim cvs snapshot (not the
> one in FlightGear) and send you the patches.  However I might try a
> typedef instead of a macro.

Bernie, Johnathan: have you had similar difficulties compiling
src/Controls/controls.cxx?

(it also ties indexed object methods)
> 
> Cheers,
> Bernie
> 
> ___
> Flightgear-devel mailing list
> [EMAIL PROTECTED]
> http://mail.flightgear.org/mailman/listinfo/flightgear-devel
-- 
Tony Peden
[EMAIL PROTECTED]
We all know Linux is great ... it does infinite loops in 5 seconds. 
-- attributed to Linus Torvalds

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



Re: [Flightgear-devel] Problems Building JSBSim using MSVC 6.0

2002-03-25 Thread Jonathan Polley

Tony,

  Oddly enough, src/Controls/controls.cxx compiles just fine.

Jonathan Polley

On Monday, March 25, 2002, at 09:08 PM, Tony Peden wrote:

> On Mon, 2002-03-25 at 15:43, Bernie Bright wrote:
>> Tony Peden wrote:
>>>
>>> It's unfortunate but I think we're going to have to incorporate this
>>> cast.
>>>
>>> However, I do think we could clean it up a bit with a pre-processor
>>> define:
>>> #define AEROINTFUNC double (FGAerodynamics::*)(int) const
>>> then
>>> PropertyManager->Tie("forces/fbx-aero-lbs", this,1,
>>>  (AEROINTFUNC)&FGAerodynamics::GetForces);
>>>
>>> Hopefully, its still clear that that is a cast.
>>>
>>> Assuming Jon does not object, I will accept patches that look like the
>>> above.
>>
>> Okay, I'll make the changes to the current JSBSim cvs snapshot (not the
>> one in FlightGear) and send you the patches.  However I might try a
>> typedef instead of a macro.
>
> Bernie, Johnathan: have you had similar difficulties compiling
> src/Controls/controls.cxx?
>
> (it also ties indexed object methods)
>>
>> Cheers,
>> Bernie
>>
>> ___
>> Flightgear-devel mailing list
>> [EMAIL PROTECTED]
>> http://mail.flightgear.org/mailman/listinfo/flightgear-devel
> --
> Tony Peden
> [EMAIL PROTECTED]
> We all know Linux is great ... it does infinite loops in 5 seconds.
> -- attributed to Linus Torvalds
>
> ___
> Flightgear-devel mailing list
> [EMAIL PROTECTED]
> http://mail.flightgear.org/mailman/listinfo/flightgear-devel


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



Re: [Flightgear-devel] Problems Building JSBSim using MSVC 6.0

2002-03-25 Thread Bernie Bright

Tony Peden wrote:
> 
> 
> Bernie, Johnathan: have you had similar difficulties compiling
> src/Controls/controls.cxx?
> 
> (it also ties indexed object methods)

Compiles just fine.  The difference is that the member function being
tied is unambiguous.

Cheers,
Bernie

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



RE: [Flightgear-devel] Problems Building JSBSim using MSVC 6.0

2002-03-25 Thread Jon Berndt



Behalf Of Norman VineSent: 
Sunday, March 24, 2002 10:55 PMTo: 
[EMAIL PROTECTED]Subject: RE: [Flightgear-devel] 
Problems Building JSBSim using MSVC 6.0

   FGFilter.cpp: In method `void 
  FGFilter::Debug(int)':FGFilter.cpp:224: warning: use proper 
  indentationFGFilter.cpp:224: warning: you are obviously a newbie; try 
  Visual Basic 
   
  If 
  you look at line 224 there is some 'strange formatting' in the cout 
  <<
   
  I 
  would suggest concatenating line 224 qnd line 225 into one 
  
   --following all one line--
   cout << "  INPUT: FCS 
  Component " << InputIdx << " (" <<  
  fcs->GetComponentName(InputIdx) << ")" << 
  endl;
   
  or 
  breaking it up something like this
   
   cout << 
  "  INPUT: FCS Component " << InputIdx 
  << " (" ;
   cout  <<  
  fcs->GetComponentName(InputIdx) << ")" << endl; 
   
The error messages I wrote were a joke. Anyhow, there is no strange 
formatting in line 224. It's perfectly legal and straightforward. It might be 
confusing to *read*, I'll grant. I split it up that way to try and stay under 80 
characters per line.