VTK6.3 & Qt5 building issue

Good day VTK users,

I’m trying to use VTK within a QT application on VS2017. I managed to build
VTK6.3 and Qt on VS 64x but when I drag and drop QVTKWidget on my ui and
build, I get the following:

    _1>MainWindow.obj : error LNK2019: unresolved external symbol _
_    "__declspec(dllimport) public: __cdecl QVTKWidget::QVTKWidget(class QWidget _
_    *,class QFlags<enum Qt::WindowType>)" _
_    (__imp_??0QVTKWidget@@QEAA@PEAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z) _
_    referenced in function "public: void __cdecl _
_    Ui_MainWindowClass::setupUi(class QMainWindow *)" _
_    (?setupUi@Ui_MainWindowClass@@QEAAXPEAVQMainWindow@@@Z) _
_    1>MainWindow.obj : error LNK2019: unresolved external symbol _
_    "__declspec(dllimport) public: virtual __cdecl _
_    QVTKWidget::~QVTKWidget(void)" (__imp_??1QVTKWidget@@UEAA@XZ) referenced in _
_    function "public: virtual void * __cdecl QVTKWidget::`scalar deleting _
_    destructor'(unsigned int)" (??_GQVTKWidget@@UEAAPEAXI@Z) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "public: _
_    virtual class QVTKInteractor * __cdecl QVTKWidget::GetInteractor(void)" _
_    (?GetInteractor@QVTKWidget@@UEAAPEAVQVTKInteractor@@XZ) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "public: _
_    virtual class vtkRenderWindow * __cdecl QVTKWidget::GetRenderWindow(void)" _
_    (?GetRenderWindow@QVTKWidget@@UEAAPEAVvtkRenderWindow@@XZ) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "public: _
_    virtual void __cdecl QVTKWidget::SetRenderWindow(class vtkRenderWindow *)" _
_    (?SetRenderWindow@QVTKWidget@@UEAAXPEAVvtkRenderWindow@@@Z) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "public: _
_    virtual class vtkImageData * __cdecl QVTKWidget::cachedImage(void)" _
_    (?cachedImage@QVTKWidget@@UEAAPEAVvtkImageData@@XZ) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "protected: _
_    virtual void __cdecl QVTKWidget::contextMenuEvent(class QContextMenuEvent _
_    *)" (?contextMenuEvent@QVTKWidget@@MEAAXPEAVQContextMenuEvent@@@Z) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "protected: _
_    virtual void __cdecl QVTKWidget::dragEnterEvent(class QDragEnterEvent *)" _
_    (?dragEnterEvent@QVTKWidget@@MEAAXPEAVQDragEnterEvent@@@Z) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "protected: _
_    virtual void __cdecl QVTKWidget::dragLeaveEvent(class QDragLeaveEvent *)" _
_    (?dragLeaveEvent@QVTKWidget@@MEAAXPEAVQDragLeaveEvent@@@Z) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "protected: _
_    virtual void __cdecl QVTKWidget::dragMoveEvent(class QDragMoveEvent *)" _
_    (?dragMoveEvent@QVTKWidget@@MEAAXPEAVQDragMoveEvent@@@Z) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "protected: _
_    virtual void __cdecl QVTKWidget::dropEvent(class QDropEvent *)" _
_    (?dropEvent@QVTKWidget@@MEAAXPEAVQDropEvent@@@Z) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "protected: _
_    virtual void __cdecl QVTKWidget::enterEvent(class QEvent *)" _
_    (?enterEvent@QVTKWidget@@MEAAXPEAVQEvent@@@Z) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "protected: _
_    virtual bool __cdecl QVTKWidget::event(class QEvent *)" _
_    (?event@QVTKWidget@@MEAA_NPEAVQEvent@@@Z) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "protected: _
_    virtual void __cdecl QVTKWidget::focusInEvent(class QFocusEvent *)" _
_    (?focusInEvent@QVTKWidget@@MEAAXPEAVQFocusEvent@@@Z) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "protected: _
_    virtual void __cdecl QVTKWidget::focusOutEvent(class QFocusEvent *)" _
_    (?focusOutEvent@QVTKWidget@@MEAAXPEAVQFocusEvent@@@Z) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "public: _
_    virtual bool __cdecl QVTKWidget::isAutomaticImageCacheEnabled(void)const " _
_    (?isAutomaticImageCacheEnabled@QVTKWidget@@UEBA_NXZ) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "protected: _
_    virtual void __cdecl QVTKWidget::keyPressEvent(class QKeyEvent *)" _
_    (?keyPressEvent@QVTKWidget@@MEAAXPEAVQKeyEvent@@@Z) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "protected: _
_    virtual void __cdecl QVTKWidget::keyReleaseEvent(class QKeyEvent *)" _
_    (?keyReleaseEvent@QVTKWidget@@MEAAXPEAVQKeyEvent@@@Z) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "protected: _
_    virtual void __cdecl QVTKWidget::leaveEvent(class QEvent *)" _
_    (?leaveEvent@QVTKWidget@@MEAAXPEAVQEvent@@@Z) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "public: _
_    virtual double __cdecl QVTKWidget::maxRenderRateForImageCache(void)const " _
_    (?maxRenderRateForImageCache@QVTKWidget@@UEBANXZ) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "public: _
_    virtual struct QMetaObject const * __cdecl QVTKWidget::metaObject(void)const _
_    " (?metaObject@QVTKWidget@@UEBAPEBUQMetaObject@@XZ) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "protected: _
_    virtual void __cdecl QVTKWidget::mouseMoveEvent(class QMouseEvent *)" _
_    (?mouseMoveEvent@QVTKWidget@@MEAAXPEAVQMouseEvent@@@Z) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "protected: _
_    virtual void __cdecl QVTKWidget::mousePressEvent(class QMouseEvent *)" _
_    (?mousePressEvent@QVTKWidget@@MEAAXPEAVQMouseEvent@@@Z) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "protected: _
_    virtual void __cdecl QVTKWidget::mouseReleaseEvent(class QMouseEvent *)" _
_    (?mouseReleaseEvent@QVTKWidget@@MEAAXPEAVQMouseEvent@@@Z) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "protected: _
_    virtual void __cdecl QVTKWidget::moveEvent(class QMoveEvent *)" _
_    (?moveEvent@QVTKWidget@@MEAAXPEAVQMoveEvent@@@Z) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "protected: _
_    virtual bool __cdecl QVTKWidget::nativeEvent(class QByteArray const &,void _
_    *,long *)" (?nativeEvent@QVTKWidget@@MEAA_NAEBVQByteArray@@PEAXPEAJ@Z) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "protected: _
_    virtual bool __cdecl QVTKWidget::paintCachedImage(void)" _
_    (?paintCachedImage@QVTKWidget@@MEAA_NXZ) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "public: _
_    virtual class QPaintEngine * __cdecl QVTKWidget::paintEngine(void)const " _
_    (?paintEngine@QVTKWidget@@UEBAPEAVQPaintEngine@@XZ) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "protected: _
_    virtual void __cdecl QVTKWidget::paintEvent(class QPaintEvent *)" _
_    (?paintEvent@QVTKWidget@@MEAAXPEAVQPaintEvent@@@Z) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "public: _
_    virtual int __cdecl QVTKWidget::qt_metacall(enum QMetaObject::Call,int,void _
_    * *)" (?qt_metacall@QVTKWidget@@UEAAHW4Call@QMetaObject@@HPEAPEAX@Z) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "public: _
_    virtual void * __cdecl QVTKWidget::qt_metacast(char const *)" _
_    (?qt_metacast@QVTKWidget@@UEAAPEAXPEBD@Z) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "protected: _
_    virtual void __cdecl QVTKWidget::resizeEvent(class QResizeEvent *)" _
_    (?resizeEvent@QVTKWidget@@MEAAXPEAVQResizeEvent@@@Z) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "public: _
_    virtual void __cdecl QVTKWidget::setAutomaticImageCacheEnabled(bool)" _
_    (?setAutomaticImageCacheEnabled@QVTKWidget@@UEAAX_N@Z) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "public: _
_    virtual void __cdecl QVTKWidget::setMaxRenderRateForImageCache(double)" _
_    (?setMaxRenderRateForImageCache@QVTKWidget@@UEAAXN@Z) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "public: _
_    virtual void __cdecl QVTKWidget::showEvent(class QShowEvent *)" _
_    (?showEvent@QVTKWidget@@UEAAXPEAVQShowEvent@@@Z) _
_    1>MainWindow.obj : error LNK2001: unresolved external symbol "protected: _
_    virtual void __cdecl QVTKWidget::wheelEvent(class QWheelEvent *)" _
_    (?wheelEvent@QVTKWidget@@MEAAXPEAVQWheelEvent@@@Z) _
_    1>C:\Users\massi\OneDrive\Desktop\ImgAnalyzer\ImageAnalyzer\x64\Release\\ImageAnalyzer.exe _
_    : fatal error LNK1120: 36 unresolved externals _
_    1>Done building project "ImageAnalyzer.vcxproj" -- FAILED. _
_    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========_ 

I think I have linked properly the libraries and header files to my project.
Can you help me how to fix that?

Thanks!

Massi

QVTKWidget is deprecated, you need to use QVTKOpenGLNativeWidget instead.