[vtkusers] Build error with 3d Connexion device

Benoit Rosa benoit.rosa at kuleuven.be
Fri Jul 17 13:00:26 EDT 2015

Hi all,

I try to make a 3DConnexion space navigator work with VTK+Qt on Linux. I 
Basically followed the steps given here : 
http://www.vtk.org/Wiki/VTK/3DConnexion_Devices_Support (by the way, the 
link to the CMakeLists.txt file is wrong).

I use VTK 6.2 (also tried with version 6.3) and Qt 5, on ubuntu 12.04 
with cmake.

I will make a long post (sorry) explaining all the different hassles 
that I had, because there are many. I tried to look a lot on the 
internet for possible resolution, but without much luck.

Everything goes fine on the driver side, I can run examples and happily 
see the cube moving on the screen. Installation of the SDK goes well, 
and I can also run xapp without any problem.

Hassle begins with the Cmake. I can run ccmake and turn on the 
VTK_USE_TDx to ON, but have no variable named VTK_TDX_INCLUDE_PATH or 
VTK_TDX_OBJECT_PATH. WHen I try to run directly cmake and define those 
variables, cmake fires a warning saying that they are not used by the 

Anyway, configuration goes through so let's try to build ... And here 
comes a lot of "Undefined reference to MagellanX" errors. I managed to 
go through those by editing 
Rendering/OpenGL/CMakeFiles/vtkRenderingOpenGL.dir/link.txt and adding 
-lxdrvlib to the linker dependencies, but this is getting nasty already 
... But fixing the link, we can go further.

Now at link of ../../lib/libvtkGUISupportQt-6.2.so, I get the following :

CMakeFiles/vtkGUISupportQt.dir/QVTKApplication.cxx.o: In function 
[home]/VTK-6.2.0/GUISupport/Qt/QVTKApplication.cxx:58: undefined 
reference to `QVTKApplication::CreateDevice(vtkTDxDevice*)'

This error is particularly weird, since CreateDevice is a signal defined 
in QVTKApplication.h, I don't really get why it appears. Moreover, the 
QObject::connect on line 28 of the same file connects 
SIGNAL(CreateDevice(vtkTDxDevice *) , so the undefined reference error 
should already fire at that moment ?

If anybody has some clues for my problem, that would be great. I tried 
to hack in here and there, and I manage to get the thing finally 
compiling, but get then runtime errors about missing slot 
QVTKApplication::setDevice, so I guess I should compile correctly 
without hacking in before continuing.

Thanks for your help !

Benoit Rosa,  Postdoctoral researcher, PhD

KU Leuven, Department of Mechanical Engineering, division PMA
Celestijnenlaan 300, box 2420
3001 Leuven

Email : benoit.rosa at kuleuven.be
Phone : +32 16 37 79 00

More information about the vtkusers mailing list