Menu

#15 Compile error on gcc 4.1.2

open
nobody
None
5
2015-01-17
2008-03-02
No

when invoking make for compiling opensteer 0.8.2 on debian/linux I got the following errors :

Compiling ../src/SimpleVehicle.cpp...
../include/OpenSteer/LocalSpace.h:77: warning: ‘class OpenSteer::AbstractLocalSpace’ has virtual functions but non-virtual destructor
../include/OpenSteer/LocalSpace.h: In instantiation of ‘OpenSteer::LocalSpaceMixin<OpenSteer::AbstractLocalSpace>’:
../include/OpenSteer/LocalSpace.h:357: instantiated from here
../include/OpenSteer/LocalSpace.h:135: warning: ‘class OpenSteer::LocalSpaceMixin<OpenSteer::AbstractLocalSpace>’ has virtual functions but non-virtual destructor
../include/OpenSteer/AbstractVehicle.h:56: warning: ‘class OpenSteer::AbstractVehicle’ has virtual functions but non-virtual destructor
../include/OpenSteer/Pathway.h:55: warning: ‘class OpenSteer::Pathway’ has virtual functions but non-virtual destructor
../include/OpenSteer/Pathway.h:97: warning: ‘class OpenSteer::PolylinePathway’ has virtual functions but non-virtual destructor
../include/OpenSteer/Obstacle.h:70: warning: ‘class OpenSteer::Obstacle’ has virtual functions but non-virtual destructor
../include/OpenSteer/Obstacle.h:93: warning: ‘class OpenSteer::SphericalObstacle’ has virtual functions but non-virtual destructor
../include/OpenSteer/SteerLibrary.h: In member function ‘bool OpenSteer::SteerLibraryMixin<Super>::isAhead(const OpenSteer::Vec3&, float) const’:
../include/OpenSteer/SteerLibrary.h:247: error: there are no arguments to ‘position’ that depend on a template parameter, so a declaration of ‘position’ must be available
../include/OpenSteer/SteerLibrary.h:247: error: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
../include/OpenSteer/SteerLibrary.h:248: error: there are no arguments to ‘forward’ that depend on a template parameter, so a declaration of ‘forward’ must be available
../include/OpenSteer/SteerLibrary.h: In member function ‘bool OpenSteer::SteerLibraryMixin<Super>::isAside(const OpenSteer::Vec3&, float) const’:
../include/OpenSteer/SteerLibrary.h:252: error: there are no arguments to ‘position’ that depend on a template parameter, so a declaration of ‘position’ must be available
../include/OpenSteer/SteerLibrary.h:253: error: there are no arguments to ‘forward’ that depend on a template parameter, so a declaration of ‘forward’ must be available
../include/OpenSteer/SteerLibrary.h: In member function ‘bool OpenSteer::SteerLibraryMixin<Super>::isBehind(const OpenSteer::Vec3&, float) const’:
../include/OpenSteer/SteerLibrary.h:258: error: there are no arguments to ‘position’ that depend on a template parameter, so a declaration of ‘position’ must be available
../include/OpenSteer/SteerLibrary.h:259: error: there are no arguments to ‘forward’ that depend on a template parameter, so a declaration of ‘forward’ must be available
../include/OpenSteer/SteerLibrary.h: In member function ‘OpenSteer::Vec3 OpenSteer::SteerLibraryMixin<Super>::steerForWander(float)’:
../include/OpenSteer/SteerLibrary.h:330: error: there are no arguments to ‘side’ that depend on a template parameter, so a declaration of ‘side’ must be available
../include/OpenSteer/SteerLibrary.h:330: error: there are no arguments to ‘up’ that depend on a template parameter, so a declaration of ‘up’ must be available
../include/OpenSteer/SteerLibrary.h: In member function ‘OpenSteer::Vec3 OpenSteer::SteerLibraryMixin<Super>::steerForSeek(const OpenSteer::Vec3&)’:
../include/OpenSteer/SteerLibrary.h:343: error: there are no arguments to ‘position’ that depend on a template parameter, so a declaration of ‘position’ must be available
../include/OpenSteer/SteerLibrary.h:344: error: there are no arguments to ‘velocity’ that depend on a template parameter, so a declaration of ‘velocity’ must be available
../include/OpenSteer/SteerLibrary.h: In member function ‘OpenSteer::Vec3 OpenSteer::SteerLibraryMixin<Super>::steerForFlee(const OpenSteer::Vec3&)’:
../include/OpenSteer/SteerLibrary.h:357: error: ‘position’ was not declared in this scope
../include/OpenSteer/SteerLibrary.h:358: error: there are no arguments to ‘velocity’ that depend on a template parameter, so a declaration of ‘velocity’ must be available
../include/OpenSteer/SteerLibrary.h: In member function ‘OpenSteer::Vec3 OpenSteer::SteerLibraryMixin<Super>::xxxsteerForFlee(const OpenSteer::Vec3&)’:
../include/OpenSteer/SteerLibrary.h:372: error: there are no arguments to ‘position’ that depend on a template parameter, so a declaration of ‘position’ must be available
../include/OpenSteer/SteerLibrary.h:373: error: there are no arguments to ‘maxSpeed’ that depend on a template parameter, so a declaration of ‘maxSpeed’ must be available
../include/OpenSteer/SteerLibrary.h:374: error: there are no arguments to ‘velocity’ that depend on a template parameter, so a declaration of ‘velocity’ must be available
../include/OpenSteer/SteerLibrary.h: In member function ‘OpenSteer::Vec3 OpenSteer::SteerLibraryMixin<Super>::xxxsteerForSeek(const OpenSteer::Vec3&)’:
../include/OpenSteer/SteerLibrary.h:384: error: there are no arguments to ‘position’ that depend on a template parameter, so a declaration of ‘position’ must be available
../include/OpenSteer/SteerLibrary.h:385: error: there are no arguments to ‘maxSpeed’ that depend on a template parameter, so a declaration of ‘maxSpeed’ must be available
../include/OpenSteer/SteerLibrary.h:386: error: there are no arguments to ‘velocity’ that depend on a template parameter, so a declaration of ‘velocity’ must be available
../include/OpenSteer/SteerLibrary.h: In member function ‘OpenSteer::Vec3 OpenSteer::SteerLibraryMixin<Super>::steerToStayOnPath(float, OpenSteer::Pathway&)’:
../include/OpenSteer/SteerLibrary.h:400: error: there are no arguments to ‘predictFuturePosition’ that depend on a template parameter, so a declaration of ‘predictFuturePosition’ must be available
../include/OpenSteer/SteerLibrary.h: In member function ‘OpenSteer::Vec3 OpenSteer::SteerLibraryMixin<Super>::steerToFollowPath(int, float, OpenSteer::Pathway&)’:
../include/OpenSteer/SteerLibrary.h:434: error: there are no arguments to ‘speed’ that depend on a template parameter, so a declaration of ‘speed’ must be available
../include/OpenSteer/SteerLibrary.h:437: error: there are no arguments to ‘predictFuturePosition’ that depend on a template parameter, so a declaration of ‘predictFuturePosition’ must be available
../include/OpenSteer/SteerLibrary.h:441: error: there are no arguments to ‘position’ that depend on a template parameter, so a declaration of ‘position’ must be available
../include/OpenSteer/SteerLibrary.h: In member function ‘OpenSteer::Vec3 OpenSteer::SteerLibraryMixin<Super>::steerToAvoidObstacle(float, const OpenSteer::Obstacle&)’:
../include/OpenSteer/SteerLibrary.h:515: error: there are no arguments to ‘speed’ that depend on a template parameter, so a declaration of ‘speed’ must be available
../include/OpenSteer/SteerLibrary.h: In member function ‘OpenSteer::Vec3 OpenSteer::SteerLibraryMixin<Super>::steerToAvoidObstacles(float, const OpenSteer::ObstacleGroup&)’:
../include/OpenSteer/SteerLibrary.h:534: error: there are no arguments to ‘speed’ that depend on a template parameter, so a declaration of ‘speed’ must be available
../include/OpenSteer/SteerLibrary.h:564: error: there are no arguments to ‘position’ that depend on a template parameter, so a declaration of ‘position’ must be available
../include/OpenSteer/SteerLibrary.h:565: error: there are no arguments to ‘forward’ that depend on a template parameter, so a declaration of ‘forward’ must be available
../include/OpenSteer/SteerLibrary.h:567: error: there are no arguments to ‘maxForce’ that depend on a template parameter, so a declaration of ‘maxForce’ must be available
../include/OpenSteer/SteerLibrary.h:568: error: there are no arguments to ‘forward’ that depend on a template parameter, so a declaration of ‘forward’ must be available
../include/OpenSteer/SteerLibrary.h:568: error: there are no arguments to ‘maxForce’ that depend on a template parameter, so a declaration of ‘maxForce’ must be available
../include/OpenSteer/SteerLibrary.h: In member function ‘OpenSteer::Vec3 OpenSteer::SteerLibraryMixin<Super>::steerToAvoidNeighbors(float, const OpenSteer::AVGroup&)’:
../include/OpenSteer/SteerLibrary.h:614: error: there are no arguments to ‘radius’ that depend on a template parameter, so a declaration of ‘radius’ must be available
../include/OpenSteer/SteerLibrary.h:643: error: there are no arguments to ‘forward’ that depend on a template parameter, so a declaration of ‘forward’ must be available
../include/OpenSteer/SteerLibrary.h:650: error: there are no arguments to ‘position’ that depend on a template parameter, so a declaration of ‘position’ must be available
../include/OpenSteer/SteerLibrary.h:651: error: there are no arguments to ‘side’ that depend on a template parameter, so a declaration of ‘side’ must be available
../include/OpenSteer/SteerLibrary.h:659: error: there are no arguments to ‘position’ that depend on a template parameter, so a declaration of ‘position’ must be available
../include/OpenSteer/SteerLibrary.h:660: error: there are no arguments to ‘side’ that depend on a template parameter, so a declaration of ‘side’ must be available
../include/OpenSteer/SteerLibrary.h:667: error: there are no arguments to ‘speed’ that depend on a template parameter, so a declaration of ‘speed’ must be available
../include/OpenSteer/SteerLibrary.h:669: error: there are no arguments to ‘side’ that depend on a template parameter, so a declaration of ‘side’ must be available
../include/OpenSteer/SteerLibrary.h:681: error: there are no arguments to ‘side’ that depend on a template parameter, so a declaration of ‘side’ must be available
../include/OpenSteer/SteerLibrary.h: In member function ‘float OpenSteer::SteerLibraryMixin<Super>::predictNearestApproachTime(OpenSteer::AbstractVehicle&)’:
../include/OpenSteer/SteerLibrary.h:698: error: there are no arguments to ‘velocity’ that depend on a template parameter, so a declaration of ‘velocity’ must be available
../include/OpenSteer/SteerLibrary.h:717: error: there are no arguments to ‘position’ that depend on a template parameter, so a declaration of ‘position’ must be available
../include/OpenSteer/SteerLibrary.h: In member function ‘float OpenSteer::SteerLibraryMixin<Super>::computeNearestApproachPositions(OpenSteer::AbstractVehicle&, float)’:
../include/OpenSteer/SteerLibrary.h:735: error: there are no arguments to ‘forward’ that depend on a template parameter, so a declaration of ‘forward’ must be available
../include/OpenSteer/SteerLibrary.h:735: error: there are no arguments to ‘speed’ that depend on a template parameter, so a declaration of ‘speed’ must be available
../include/OpenSteer/SteerLibrary.h:738: error: there are no arguments to ‘position’ that depend on a template parameter, so a declaration of ‘position’ must be available
../include/OpenSteer/SteerLibrary.h: In member function ‘OpenSteer::Vec3 OpenSteer::SteerLibraryMixin<Super>::steerToAvoidCloseNeighbors(float, const OpenSteer::AVGroup&)’:
../include/OpenSteer/SteerLibrary.h:770: error: there are no arguments to ‘radius’ that depend on a template parameter, so a declaration of ‘radius’ must be available
../include/OpenSteer/SteerLibrary.h:772: error: there are no arguments to ‘position’ that depend on a template parameter, so a declaration of ‘position’ must be available
../include/OpenSteer/SteerLibrary.h:778: error: there are no arguments to ‘forward’ that depend on a template parameter, so a declaration of ‘forward’ must be available
../include/OpenSteer/SteerLibrary.h: In member function ‘bool OpenSteer::SteerLibraryMixin<Super>::inBoidNeighborhood(const OpenSteer::AbstractVehicle&, float, float, float)’:
../include/OpenSteer/SteerLibrary.h:806: error: there are no arguments to ‘position’ that depend on a template parameter, so a declaration of ‘position’ must be available
../include/OpenSteer/SteerLibrary.h:825: error: there are no arguments to ‘forward’ that depend on a template parameter, so a declaration of ‘forward’ must be available
../include/OpenSteer/SteerLibrary.h: In member function ‘OpenSteer::Vec3 OpenSteer::SteerLibraryMixin<Super>::steerForSeparation(float, float, const OpenSteer::AVGroup&)’:
../include/OpenSteer/SteerLibrary.h:851: error: there are no arguments to ‘radius’ that depend on a template parameter, so a declaration of ‘radius’ must be available
../include/OpenSteer/SteerLibrary.h:856: error: there are no arguments to ‘position’ that depend on a template parameter, so a declaration of ‘position’ must be available
../include/OpenSteer/SteerLibrary.h: In member function ‘OpenSteer::Vec3 OpenSteer::SteerLibraryMixin<Super>::steerForAlignment(float, float, const OpenSteer::AVGroup&)’:
../include/OpenSteer/SteerLibrary.h:890: error: there are no arguments to ‘radius’ that depend on a template parameter, so a declaration of ‘radius’ must be available
../include/OpenSteer/SteerLibrary.h:902: error: there are no arguments to ‘forward’ that depend on a template parameter, so a declaration of ‘forward’ must be available
../include/OpenSteer/SteerLibrary.h: In member function ‘OpenSteer::Vec3 OpenSteer::SteerLibraryMixin<Super>::steerForCohesion(float, float, const OpenSteer::AVGroup&)’:
../include/OpenSteer/SteerLibrary.h:927: error: there are no arguments to ‘radius’ that depend on a template parameter, so a declaration of ‘radius’ must be available
../include/OpenSteer/SteerLibrary.h:939: error: there are no arguments to ‘position’ that depend on a template parameter, so a declaration of ‘position’ must be available
../include/OpenSteer/SteerLibrary.h: In member function ‘OpenSteer::Vec3 OpenSteer::SteerLibraryMixin<Super>::steerForPursuit(const OpenSteer::AbstractVehicle&, float)’:
../include/OpenSteer/SteerLibrary.h:965: error: there are no arguments to ‘position’ that depend on a template parameter, so a declaration of ‘position’ must be available
../include/OpenSteer/SteerLibrary.h:971: error: there are no arguments to ‘forward’ that depend on a template parameter, so a declaration of ‘forward’ must be available
../include/OpenSteer/SteerLibrary.h:975: error: there are no arguments to ‘forward’ that depend on a template parameter, so a declaration of ‘forward’ must be available
../include/OpenSteer/SteerLibrary.h:977: error: there are no arguments to ‘speed’ that depend on a template parameter, so a declaration of ‘speed’ must be available
../include/OpenSteer/SteerLibrary.h:994: error: ‘gBlack’ was not declared in this scope
../include/OpenSteer/SteerLibrary.h:998: error: ‘gGray50’ was not declared in this scope
../include/OpenSteer/SteerLibrary.h:1002: error: ‘gWhite’ was not declared in this scope
../include/OpenSteer/SteerLibrary.h:1011: error: ‘gRed’ was not declared in this scope
../include/OpenSteer/SteerLibrary.h:1015: error: ‘gYellow’ was not declared in this scope
../include/OpenSteer/SteerLibrary.h:1019: error: ‘gGreen’ was not declared in this scope
../include/OpenSteer/SteerLibrary.h:1028: error: ‘gCyan’ was not declared in this scope
../include/OpenSteer/SteerLibrary.h:1032: error: ‘gBlue’ was not declared in this scope
../include/OpenSteer/SteerLibrary.h:1036: error: ‘gMagenta’ was not declared in this scope
../include/OpenSteer/SteerLibrary.h:1052: error: there are no arguments to ‘position’ that depend on a template parameter, so a declaration of ‘position’ must be available
../include/OpenSteer/SteerLibrary.h:1054: error: ‘gGray40’ was not declared in this scope
../include/OpenSteer/SteerLibrary.h: In member function ‘OpenSteer::Vec3 OpenSteer::SteerLibraryMixin<Super>::steerForEvasion(const OpenSteer::AbstractVehicle&, float)’:
../include/OpenSteer/SteerLibrary.h:1070: error: ‘position’ was not declared in this scope
../include/OpenSteer/SteerLibrary.h: In member function ‘OpenSteer::Vec3 OpenSteer::SteerLibraryMixin<Super>::steerForTargetSpeed(float)’:
../include/OpenSteer/SteerLibrary.h:1094: error: there are no arguments to ‘maxForce’ that depend on a template parameter, so a declaration of ‘maxForce’ must be available
../include/OpenSteer/SteerLibrary.h:1095: error: there are no arguments to ‘speed’ that depend on a template parameter, so a declaration of ‘speed’ must be available
../include/OpenSteer/SteerLibrary.h:1096: error: there are no arguments to ‘forward’ that depend on a template parameter, so a declaration of ‘forward’ must be available
../include/OpenSteer/SteerLibrary.h: In member function ‘void OpenSteer::SteerLibraryMixin<Super>::findNextIntersectionWithSphere(OpenSteer::SphericalObstacle&, OpenSteer::SteerLibraryMixin<Super>::PathIntersection&)’:
../include/OpenSteer/SteerLibrary.h:1126: error: there are no arguments to ‘localizePosition’ that depend on a template parameter, so a declaration of ‘localizePosition’ must be available
../include/OpenSteer/SteerLibrary.h:1131: error: there are no arguments to ‘radius’ that depend on a template parameter, so a declaration of ‘radius’ must be available
../include/OpenSteer/PlugIn.h: At global scope:
../include/OpenSteer/PlugIn.h:85: warning: ‘class OpenSteer::AbstractPlugIn’ has virtual functions but non-virtual destructor
../include/OpenSteer/Camera.h:57: warning: ‘class OpenSteer::Camera’ has virtual functions but non-virtual destructor
../include/OpenSteer/LocalSpace.h: In instantiation of ‘OpenSteer::LocalSpaceMixin<OpenSteer::AbstractVehicle>’:
../include/OpenSteer/Annotation.h:60: instantiated from ‘OpenSteer::AnnotationMixin<OpenSteer::LocalSpaceMixin<OpenSteer::AbstractVehicle> >’
../include/OpenSteer/SteerLibrary.h:64: instantiated from ‘OpenSteer::SteerLibraryMixin<OpenSteer::AnnotationMixin<OpenSteer::LocalSpaceMixin<OpenSteer::AbstractVehicle> > >’
../include/OpenSteer/SimpleVehicle.h:91: instantiated from here
../include/OpenSteer/LocalSpace.h:135: warning: ‘class OpenSteer::LocalSpaceMixin<OpenSteer::AbstractVehicle>’ has virtual functions but non-virtual destructor
make: *** [SimpleVehicle.o] Erreur 1

It seems like SteerLibraryMixin is calling method position(), speed() ... that should probably be inherited from Super.

Discussion

MongoDB Logo MongoDB