# Linking VTK static libraries

**URL:** https://discourse.vtk.org/t/linking-vtk-static-libraries/1534
**Category:** Support
**Created:** [August 9, 2019, 12:59am UTC](https://discourse.vtk.org/t/linking-vtk-static-libraries/1534 "2019-08-09T00:59:50Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![Gib\_Bogle](https://discourse.vtk.org/user_avatar/discourse.vtk.org/gib_bogle/32/740_2.png) [@Gib\_Bogle](https://discourse.vtk.org/u/Gib_Bogle)
#### Post date: [August 9, 2019, 12:59am UTC](https://discourse.vtk.org/t/linking-vtk-static-libraries/1534/1 "2019-08-09T00:59:50Z")

</div>

I am trying to port a program that uses VTK in a Qt GUI from Windows to Linux. To keep this as straightforward as possible I’m sticking with the Qt and VTK versions that I’ve been using: Qt-4.8.6 and VTK-5.10. The VTK libraries are selected like this:

LIBS += -L/usr/local/lib/vtk-5.10 -lQVTK -lvtkRendering -lvtkGraphics -lvtkImaging -lvtkIO -lvtkFiltering -lvtkCommon   
-lvtkpng -lvtktiff -lvtkjpeg -lvtkexpat -lvtksys -lvtkexoIIc -lvtkNetCDF -lvtklibxml2 -lvtkzlib -lvtkalglib

# -lws2\_32 -lwsock32 -lvfw32 -lopengl32 -lgdi32 -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32

where the removed libraries are Windows-specific. (Edit: the lines that have been bolded were actually commented out - the software here is doing something funny with the hash character.)  
I’m not sure what I need to add to replace the missing functionality, but adding this line did eliminate some errors:

LIBS += -L /usr/lib/x86\_64-linux-gnu -lX11 -ldl -lGL

I am still getting many errors relating to functions in vtkXRenderWindowInteractor.cxx all prefixed by ‘Xt’, I don’t know what these are. I’d be grateful for any pointers. The OS is Ubuntu 16.04.

Thanks  
Gib

/usr/local/lib/vtk-5.10/libvtkRendering.a(vtkXRenderWindowInteractor.cxx.o): In function `vtkXRenderWindowInteractor::Start()': vtkXRenderWindowInteractor.cxx:(.text+0x14b): undefined reference to`XtAppNextEvent’  
vtkXRenderWindowInteractor.cxx:(.text+0x153): undefined reference to `XtDispatchEvent' /usr/local/lib/vtk-5.10/libvtkRendering.a(vtkXRenderWindowInteractor.cxx.o): In function`vtkXRenderWindowInteractor::Disable()’:  
vtkXRenderWindowInteractor.cxx:(.text+0x2b1): undefined reference to `XtRemoveEventHandler' /usr/local/lib/vtk-5.10/libvtkRendering.a(vtkXRenderWindowInteractor.cxx.o): In function`vtkXRenderWindowInteractorCallback(\_WidgetRec\*, void\*, \_XEvent\*, char\*)’:  
vtkXRenderWindowInteractor.cxx:(.text+0xf34): undefined reference to `XtSetKeyboardFocus' /usr/local/lib/vtk-5.10/libvtkRendering.a(vtkXRenderWindowInteractor.cxx.o): In function`vtkXRenderWindowInteractor::~vtkXRenderWindowInteractor()’:  
vtkXRenderWindowInteractor.cxx:(.text+0x1b9e): undefined reference to `XtRemoveEventHandler' vtkXRenderWindowInteractor.cxx:(.text+0x1bc0): undefined reference to`XtDestroyWidget’  
vtkXRenderWindowInteractor.cxx:(.text+0x1bf1): undefined reference to `XtDestroyApplicationContext' /usr/local/lib/vtk-5.10/libvtkRendering.a(vtkXRenderWindowInteractor.cxx.o): In function`vtkXRenderWindowInteractor::InternalDestroyTimer(int)’:  
vtkXRenderWindowInteractor.cxx:(.text+0x1e06): undefined reference to `XtRemoveTimeOut' /usr/local/lib/vtk-5.10/libvtkRendering.a(vtkXRenderWindowInteractor.cxx.o): In function`vtkXRenderWindowInteractor::InternalCreateTimer(int, int, unsigned long)’:  
vtkXRenderWindowInteractor.cxx:(.text+0x21d0): undefined reference to `XtAppAddTimeOut' /usr/local/lib/vtk-5.10/libvtkRendering.a(vtkXRenderWindowInteractor.cxx.o): In function`vtkXRenderWindowInteractor::Initialize()’:  
vtkXRenderWindowInteractor.cxx:(.text+0x24ad): undefined reference to `XtRealizeWidget' vtkXRenderWindowInteractor.cxx:(.text+0x24c7): undefined reference to`XtWindow’  
vtkXRenderWindowInteractor.cxx:(.text+0x24de): undefined reference to `XtWindow' vtkXRenderWindowInteractor.cxx:(.text+0x2507): undefined reference to`XtWindow’  
vtkXRenderWindowInteractor.cxx:(.text+0x2545): undefined reference to `XtWindow' vtkXRenderWindowInteractor.cxx:(.text+0x25b1): undefined reference to`XtToolkitInitialize’  
vtkXRenderWindowInteractor.cxx:(.text+0x25b6): undefined reference to `XtCreateApplicationContext' vtkXRenderWindowInteractor.cxx:(.text+0x263d): undefined reference to`applicationShellWidgetClass’  
vtkXRenderWindowInteractor.cxx:(.text+0x26a6): undefined reference to `XtVaAppCreateShell' vtkXRenderWindowInteractor.cxx:(.text+0x26c6): undefined reference to`XtRealizeWidget’  
vtkXRenderWindowInteractor.cxx:(.text+0x26e0): undefined reference to `XtWindow' vtkXRenderWindowInteractor.cxx:(.text+0x26f7): undefined reference to`XtWindow’  
vtkXRenderWindowInteractor.cxx:(.text+0x2832): undefined reference to `XtOpenDisplay' vtkXRenderWindowInteractor.cxx:(.text+0x286b): undefined reference to`XtDisplayInitialize’  
/usr/local/lib/vtk-5.10/libvtkRendering.a(vtkXRenderWindowInteractor.cxx.o): In function `vtkXRenderWindowInteractor::Enable()': vtkXRenderWindowInteractor.cxx:(.text+0x2933): undefined reference to`XtAddEventHandler’  
/usr/local/lib/vtk-5.10/libvtkRendering.a(vtkXRenderWindowInteractor.cxx.o): In function `vtkXRenderWindowInteractor::Initialize(_XtAppStruct*)': vtkXRenderWindowInteractor.cxx:(.text+0x2bb5): undefined reference to`XtRealizeWidget’  
vtkXRenderWindowInteractor.cxx:(.text+0x2bcf): undefined reference to `XtWindow' vtkXRenderWindowInteractor.cxx:(.text+0x2be6): undefined reference to`XtWindow’  
vtkXRenderWindowInteractor.cxx:(.text+0x2c0f): undefined reference to `XtWindow' vtkXRenderWindowInteractor.cxx:(.text+0x2c4d): undefined reference to`XtWindow’  
vtkXRenderWindowInteractor.cxx:(.text+0x2cb9): undefined reference to `XtToolkitInitialize' vtkXRenderWindowInteractor.cxx:(.text+0x2cbe): undefined reference to`XtCreateApplicationContext’  
vtkXRenderWindowInteractor.cxx:(.text+0x2d45): undefined reference to `applicationShellWidgetClass' vtkXRenderWindowInteractor.cxx:(.text+0x2dae): undefined reference to`XtVaAppCreateShell’  
vtkXRenderWindowInteractor.cxx:(.text+0x2dce): undefined reference to `XtRealizeWidget' vtkXRenderWindowInteractor.cxx:(.text+0x2de8): undefined reference to`XtWindow’  
vtkXRenderWindowInteractor.cxx:(.text+0x2dff): undefined reference to `XtWindow' vtkXRenderWindowInteractor.cxx:(.text+0x2f82): undefined reference to`XtOpenDisplay’  
vtkXRenderWindowInteractor.cxx:(.text+0x2fbb): undefined reference to `XtDisplayInitialize' /usr/local/lib/vtk-5.10/libvtkRendering.a(vtkXRenderWindowInteractor.cxx.o): In function`vtkXRenderWindowInteractor::AddTimeOut(\_XtAppStruct\*, unsigned long, void (_)(void_, unsigned long\*), void\*)’:  
vtkXRenderWindowInteractor.cxx:(.text+0x1abd): undefined reference to `XtAppAddTimeOut’

---

<div class="post-metadata">

### Author: ![Gib\_Bogle](https://discourse.vtk.org/user_avatar/discourse.vtk.org/gib_bogle/32/740_2.png) [@Gib\_Bogle](https://discourse.vtk.org/u/Gib_Bogle)
#### Post date: [August 9, 2019, 1:08am UTC](https://discourse.vtk.org/t/linking-vtk-static-libraries/1534/2 "2019-08-09T01:08:21Z")

</div>

Sorry, I have answered my own question. I needed libXt.
