[vtkusers] Inresolved external for QVTKWidget in VTK-8.0.1.

Dan Lipsa dan.lipsa at kitware.com
Tue Oct 10 10:33:08 EDT 2017


Zoltan,
This is unrelated to the error you are seeing however:

For Qt5 you'll need to use QVTKOpenGLWidget rather than QVTKWidget.  See
https://lorensen.github.io/VTKExamples/site/Cxx/
All examples are converted to Qt5. Also, VTK master has a number of
examples that have been converted to Qt5: Examples/GUI/Qt

Hope this helps,
Dan


On Tue, Oct 10, 2017 at 10:10 AM, Zoltan Kovacs <Zoltan.Kovacs at esi-group.com
> wrote:

> Dear all,
>
> In CMake I generated a solution project of VTK-8.0.1 with Qt5 support for
> MSVS2013. After having run the ALL_BUILD and INSTALL projects with the
> install prefix C:\VTK\8.0.1 in VM2013 I could installed the Win32 bit
> binaries of VTK 8.0.1 in that folder. The header files and the libraries
> are located in
> C:\VTK\8.0.1\include\vtk-8.0   and
> C:\VTK\8.0.1\lib.
>
> I copied the file QVTKWidgetPlugin.dll from the VTK binary folders to the
> plugin folder of QTCreator, which uses QT 5.8 msvs2013 32 bit version.
>
> Then I set the include and library paths and added all the VTK libary
> files from C:\VTK\8.0.1\lib for the linker setting in the project file
> of a QT application in QtCreator:
>
> INCLUDEPATH += C:\VTK\8.0.1\include\vtk-8.0
> LIBS += -LC:\VTK\8.0.1\lib
>
> LIBS += -lvtkRenderingLabel-8.0 \
> -lvtkRenderingLOD-8.0 \
> -lvtkRenderingOpenGL2-8.0 \
> -lvtkRenderingQt-8.0 \
> -lvtkRenderingVolume-8.0 \
> -lvtkRenderingVolumeOpenGL2-8.0 \
> -lvtksqlite-8.0 \
> -lvtksys-8.0 \
> -lvtkTestingGenericBridge-8.0 \
> -lvtkTestingIOSQL-8.0 \
> -lvtkTestingRendering-8.0 \
> -lvtktiff-8.0 \
> -lvtkverdict-8.0 \
> -lvtkViewsContext2D-8.0 \
> -lvtkViewsCore-8.0 \
> -lvtkViewsInfovis-8.0 \
> -lvtkViewsQt-8.0 \
> -lvtkzlib-8.0 \
> -lvtkalglib-8.0 \
> -lvtkChartsCore-8.0 \
> -lvtkCommonColor-8.0 \
> -lvtkCommonComputationalGeometry-8.0 \
> -lvtkCommonCore-8.0 \
> -lvtkCommonDataModel-8.0 \
> -lvtkCommonExecutionModel-8.0 \
> -lvtkCommonMath-8.0 \
> -lvtkCommonMisc-8.0 \
> -lvtkCommonSystem-8.0 \
> -lvtkCommonTransforms-8.0 \
> -lvtkDICOMParser-8.0 \
> -lvtkDomainsChemistry-8.0 \
> -lvtkDomainsChemistryOpenGL2-8.0 \
> -lvtkexoIIc-8.0 \
> -lvtkexpat-8.0 \
> -lvtkFiltersAMR-8.0 \
> -lvtkFiltersCore-8.0 \
> -lvtkFiltersExtraction-8.0 \
> -lvtkFiltersFlowPaths-8.0 \
> -lvtkFiltersGeneral-8.0 \
> -lvtkFiltersGeneric-8.0 \
> -lvtkFiltersGeometry-8.0 \
> -lvtkFiltersHybrid-8.0 \
> -lvtkFiltersHyperTree-8.0 \
> -lvtkFiltersImaging-8.0 \
> -lvtkFiltersModeling-8.0 \
> -lvtkFiltersParallel-8.0 \
> -lvtkFiltersParallelImaging-8.0 \
> -lvtkFiltersPoints-8.0 \
> -lvtkFiltersProgrammable-8.0 \
> -lvtkFiltersSelection-8.0 \
> -lvtkFiltersSMP-8.0 \
> -lvtkFiltersSources-8.0 \
> -lvtkFiltersStatistics-8.0 \
> -lvtkFiltersTexture-8.0 \
> -lvtkFiltersTopology-8.0 \
> -lvtkFiltersVerdict-8.0 \
> -lvtkfreetype-8.0 \
> -lvtkGeovisCore-8.0 \
> -lvtkgl2ps-8.0 \
> -lvtkglew-8.0 \
> -lvtkGUISupportQt-8.0 \
> -lvtkGUISupportQtSQL-8.0 \
> -lvtkhdf5_hl-8.0 \
> -lvtkhdf5-8.0 \
> -lvtkImagingColor-8.0 \
> -lvtkImagingCore-8.0 \
> -lvtkImagingFourier-8.0 \
> -lvtkImagingGeneral-8.0 \
> -lvtkImagingHybrid-8.0 \
> -lvtkImagingMath-8.0 \
> -lvtkImagingMorphological-8.0 \
> -lvtkImagingSources-8.0 \
> -lvtkImagingStatistics-8.0 \
> -lvtkImagingStencil-8.0 \
> -lvtkInfovisCore-8.0 \
> -lvtkInfovisLayout-8.0 \
> -lvtkInteractionImage-8.0 \
> -lvtkInteractionStyle-8.0 \
> -lvtkInteractionWidgets-8.0 \
> -lvtkIOAMR-8.0 \
> -lvtkIOCore-8.0 \
> -lvtkIOEnSight-8.0 \
> -lvtkIOExodus-8.0 \
> -lvtkIOExport-8.0 \
> -lvtkIOExportOpenGL2-8.0 \
> -lvtkIOGeometry-8.0 \
> -lvtkIOImage-8.0 \
> -lvtkIOImport-8.0 \
> -lvtkIOInfovis-8.0 \
> -lvtkIOLegacy-8.0 \
> -lvtkIOLSDyna-8.0 \
> -lvtkIOMINC-8.0 \
> -lvtkIOMovie-8.0 \
> -lvtkIONetCDF-8.0 \
> -lvtkIOParallel-8.0 \
> -lvtkIOParallelXML-8.0 \
> -lvtkIOPLY-8.0 \
> -lvtkIOSQL-8.0 \
> -lvtkIOTecplotTable-8.0 \
> -lvtkIOVideo-8.0 \
> -lvtkIOXML-8.0 \
> -lvtkIOXMLParser-8.0 \
> -lvtkjpeg-8.0 \
> -lvtkjsoncpp-8.0 \
> -lvtklibharu-8.0 \
> -lvtklibxml2-8.0 \
> -lvtkLocalExample-8.0 \
> -lvtklz4-8.0 \
> -lvtkmetaio-8.0 \
> -lvtknetcdf_c++ \
> -lvtkNetCDF-8.0 \
> -lvtkoggtheora-8.0 \
> -lvtkParallelCore-8.0 \
> -lvtkpng-8.0 \
> -lvtkproj4-8.0 \
> -lvtkRenderingAnnotation-8.0 \
> -lvtkRenderingContext2D-8.0 \
> -lvtkRenderingContextOpenGL2-8.0 \
> -lvtkRenderingCore-8.0 \
> -lvtkRenderingFreeType-8.0 \
> -lvtkRenderingGL2PSOpenGL2-8.0 \
> -lvtkRenderingImage-8.0 \
>
>
> However, if I add a QVTKWidget on the UI file of the application, include
> the file QVTKWidget.h in the header file of the application and I try to
> link it in QtCreator with the 32-bit VTK and Qt libraries, MSVS2013 (in the
> toolchain of QtCreator) sends error messages for unresolved external
> symbols for all the functions/classes belonging to the QVTKWidget, such as
>
> distortionpage.obj:-1: Fehler: LNK2019: unresolved external symbol
> "__declspec(dllimport) public: __thiscall QVTKWidget::QVTKWidget(class
> QWidget *,class QFlags<enum Qt::WindowType>)" (__imp_??0QVTKWidget@
> @QAE at PAVQWidget@@V?$QFlags at W4WindowType@Qt@@@@@Z) referenced in function
> "public: void __thiscall Ui_DistortionPage::setupUi(class QWidget *)"
> (?setupUi at Ui_DistortionPage@@QAEXPAVQWidget@@@Z)
>
>
> It seems that the linker could not find the libary for the QVTKWidget
> plugin, which is loaded since I could chose QtWidget from the widget list
> in the UI form editor in QtCreator. I do not see any ABI issue here since I
> use the 32 bit mscv2103 version of Qt and I also compiled and linked the 32
> bit version of VTK libaries and plugin files with MSVS2013. I am wondering
> if anybody could make VTK-8.1 working with Qt. Thanks a lot.
>
> Kind regars,
> Zoltan
>
> Regards,
> Zoltan
>
> Am 09.10.2017 um 07:34 schrieb support at qt.io:
>
>> Hi Zoltan,
>>
>> I don't know how the widget should be installed or set up in a project,
>> but you could just search for the header file and point INCLUDEPATH to the
>> folder that contains it.
>>
>> Regards,
>> Joni
>>
>> On 06 October 2017 at 18:26:00 EEST Zoltan.Kovacs at esi-group.com wrote:
>>
>>> Hi Joni,
>>>
>>> I see. However I found MSCV2013 32 bit version for Qt 5.8. I install
>>> that version and I built the VTK binaries for win32 platform with
>>> MVS2013. After having copied the VTK plugin file into the plugin folder
>>> of QtCreator I could launch it successfully. The QVTKWidget is in the
>>> Widget list of QtCreator now. I could insert a QVTKWidget in the UI form
>>> as well. The only problem now is that QtCreator cannot find the header
>>> file for QVTKWidget. It is not cleat how to set the INCLUDEPATH in the
>>> project file since VS2103 did not create a separate include folder in
>>> the target folder C:/VTK/bin for the VTK binaries. Only the library
>>> files have a separate folder, C:/VTK/bin/lib/Release.
>>>
>>> Regards,
>>> Zoltan
>>>
>>> Am 06.10.2017 um 12:08 schrieb support at qt.io:
>>>
>>>> Hi Zoltan,
>>>>
>>>> On 06 October 2017 at 13:00:00 EEST Zoltan.Kovacs at esi-group.com wrote:
>>>>
>>>>> Hi Joni,
>>>>>
>>>>> Thank you very much for your answer. Then I try to install everything
>>>>> from scratch. The only prolem is I have only MSVC 2103 and the only
>>>>> option in the selection list of the online installer for MSVC 2013 is
>>>>> the 64 bit version. Is there somewhere an installer on your website
>>>>> wich
>>>>> provides a relatively new Qt version with MSVC 2103 32 bit version?
>>>>> Thank you very much for your help.
>>>>>
>>>>
>>>> No, but you could compile it from source yourself. However, note that
>>>> you cannot build plugins for new Qt Creator with MSVC 2013 as it uses
>>>> different ABI. You could use MSVC 2015 or MSVC 2017.
>>>>
>>>> Or you could build 64bit version of Qt Creator from source with that Qt
>>>> version you have installed.
>>>>
>>>> Regards,
>>>> Joni
>>>> --
>>>> Joni Poikelin
>>>> Software Engineer,
>>>> The Qt Company
>>>>>>>> FAQs - https://wiki.qt.io/KnowledgeBase:SupportFAQ
>>>>
>>>> --
>> Joni Poikelin
>> Software Engineer,
>> The Qt Company
>>>> FAQs - https://wiki.qt.io/KnowledgeBase:SupportFAQ
>>
>> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensou
> rce/opensource.html
>
> Please keep messages on-topic and check the VTK FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
>
> Search the list archives at: http://markmail.org/search/?q=vtkusers
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/vtkusers
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20171010/aff4dcd9/attachment.html>


More information about the vtkusers mailing list