![]() |
|
#7
|
|||
|
|||
Perhaps I spoke a bit too soon. When I try to create a project and compile it after compiling the VRPN source code I get all sorts of errors regarding the extern "C" lines and other extern lines in the VRPN source if I compile it as a C module.
I did manage to get to a certain point using C++ project though. But when I try to compile the code I get the following error: ...\extender\Tracker.cpp(8): error C2664: 'int vrpn_Tracker_Remote::register_change_handler(void *,vrpn_TRACKERCHANGEHANDLER,vrpn_int32)' : cannot convert parameter 2 from 'void (void *,vrpn_TRACKERCB)' to 'vrpn_TRACKERCHANGEHANDLER' I'm trying to get a dll compiled from the below code: (Tracker.h) Code:
#include <vrpn_Tracker.h> class Tracker{ public: Tracker(char* address); int* getPosition(); void handlePos(void *userdata, vrpn_TRACKERCHANGEHANDLER t); vrpn_Tracker_Remote* tracker; vrpn_float64* lastPosition; }; Code:
#include <string.h> #include <vrpn_Tracker.h> #include "Tracker.h" Tracker::Tracker(char* address){ tracker = new vrpn_Tracker_Remote(address); //Setup callback for when new position data comes in tracker->register_change_handler(NULL, handlePos); lastPosition = new vrpn_float64[3]; } Tracker::handlePos(void *userdata, vrpn_TRACKERCB t){ lastPosition[0] = t.pos[0]; lastPosition[1] = t.pos[1]; lastPosition[2] = t.pos[2]; } Tracker::getPosition(){ return lastPosition; } |
|
|