Error building the ForcePluginExample in OpenSim 3.0
Posted: Wed Nov 14, 2012 10:08 am
I have been working through a couple of the sdk examples in OpenSim 3.0 and have been having trouble compiling the BodyDrag example in the ForcePluginExample folder. All of the issues seem to be coming from the Force.h file. Could anybody point me in the right direction with this one please?
C:\OpenSim 3.0\sdk\APIExamples\Plugin\ForcePluginExample\BodyDrag.cpp(99): error C2259: 'OpenSim::BodyDrag' : cannot instantiate abstract class due to following members:
'OpenSim::Force *OpenSim::Force::clone(void) const' : is abstract
C:/OpenSim 3.0/sdk/include\OpenSim/Simulation/Model/Force.h(49) : see declaration of 'OpenSim::Force::clone'
'const std::string &OpenSim::Force::getConcreteClassName(void) const' : is abstract
C:/OpenSim 3.0/sdk/include\OpenSim/Simulation/Model/Force.h(49) : see declaration of 'OpenSim::Force::getConcreteClassName'
C:\OpenSim 3.0\sdk\APIExamples\Plugin\ForcePluginExample\BodyDrag.cpp(110): error C2248: 'OpenSim::Force::copyData' : cannot access private member declared in class 'OpenSim::Force'
C:/OpenSim 3.0/sdk/include\OpenSim/Simulation/Model/Force.h(221) : see declaration of 'OpenSim::Force::copyData'
C:/OpenSim 3.0/sdk/include\OpenSim/Simulation/Model/Force.h(48) : see declaration of 'OpenSim::Force'
C:\OpenSim 3.0\sdk\APIExamples\Plugin\ForcePluginExample\BodyDrag.cpp(122): error C3861: 'setType': identifier not found
C:\OpenSim 3.0\sdk\APIExamples\Plugin\ForcePluginExample\BodyDrag.cpp(157): error C2039: 'setup' : is not a member of 'OpenSim::Force'
C:/OpenSim 3.0/sdk/include\OpenSim/Simulation/Model/Force.h(48) : see declaration of 'OpenSim::Force'
RegisterTypes_osimPlugin.cpp
C:\OpenSim 3.0\sdk\APIExamples\Plugin\ForcePluginExample\RegisterTypes_osimPlugin.cpp(42): error C2259: 'OpenSim::BodyDrag' : cannot instantiate abstract class due to following members:
'OpenSim::Force *OpenSim::Force::clone(void) const' : is abstract
C:/OpenSim 3.0/sdk/include\OpenSim/Simulation/Model/Force.h(49) : see declaration of 'OpenSim::Force::clone'
'const std::string &OpenSim::Force::getConcreteClassName(void) const' : is abstract
C:/OpenSim 3.0/sdk/include\OpenSim/Simulation/Model/Force.h(49) : see declaration of 'OpenSim::Force::getConcreteClassName'
C:\OpenSim 3.0\sdk\APIExamples\Plugin\ForcePluginExample\BodyDrag.cpp(99): error C2259: 'OpenSim::BodyDrag' : cannot instantiate abstract class due to following members:
'OpenSim::Force *OpenSim::Force::clone(void) const' : is abstract
C:/OpenSim 3.0/sdk/include\OpenSim/Simulation/Model/Force.h(49) : see declaration of 'OpenSim::Force::clone'
'const std::string &OpenSim::Force::getConcreteClassName(void) const' : is abstract
C:/OpenSim 3.0/sdk/include\OpenSim/Simulation/Model/Force.h(49) : see declaration of 'OpenSim::Force::getConcreteClassName'
C:\OpenSim 3.0\sdk\APIExamples\Plugin\ForcePluginExample\BodyDrag.cpp(110): error C2248: 'OpenSim::Force::copyData' : cannot access private member declared in class 'OpenSim::Force'
C:/OpenSim 3.0/sdk/include\OpenSim/Simulation/Model/Force.h(221) : see declaration of 'OpenSim::Force::copyData'
C:/OpenSim 3.0/sdk/include\OpenSim/Simulation/Model/Force.h(48) : see declaration of 'OpenSim::Force'
C:\OpenSim 3.0\sdk\APIExamples\Plugin\ForcePluginExample\BodyDrag.cpp(122): error C3861: 'setType': identifier not found
C:\OpenSim 3.0\sdk\APIExamples\Plugin\ForcePluginExample\BodyDrag.cpp(157): error C2039: 'setup' : is not a member of 'OpenSim::Force'
C:/OpenSim 3.0/sdk/include\OpenSim/Simulation/Model/Force.h(48) : see declaration of 'OpenSim::Force'
RegisterTypes_osimPlugin.cpp
C:\OpenSim 3.0\sdk\APIExamples\Plugin\ForcePluginExample\RegisterTypes_osimPlugin.cpp(42): error C2259: 'OpenSim::BodyDrag' : cannot instantiate abstract class due to following members:
'OpenSim::Force *OpenSim::Force::clone(void) const' : is abstract
C:/OpenSim 3.0/sdk/include\OpenSim/Simulation/Model/Force.h(49) : see declaration of 'OpenSim::Force::clone'
'const std::string &OpenSim::Force::getConcreteClassName(void) const' : is abstract
C:/OpenSim 3.0/sdk/include\OpenSim/Simulation/Model/Force.h(49) : see declaration of 'OpenSim::Force::getConcreteClassName'