Reputation: 1
I want to develop image processing and visualization software. So i tried to integrate vtk and itk to qt and used msvc2015 compiler. Unfortunately there is an error occurred while link libraries of itk to Qt.The complete error given below.
itksys-5.2.lib(SystemTools.obj):-1: error: LNK2019: unresolved external symbol __imp_RegCloseKey referenced in function "public: static bool __cdecl itksys::SystemTools::DeleteRegistryValue(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,enum itksys::SystemTools::KeyWOW64)" (?DeleteRegistryValue@SystemTools@itksys@@SA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4KeyWOW64@12@@Z)
But the lib itksys-5.2.lib is existing in the .pro file. See the qt .pro file details given below.
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
CONFIG += c++11
DEFINES += QT_DEPRECATED_WARNINGS
SOURCES += \
ImageView.cpp \
config.cpp \
main.cpp \
mainwindow.cpp \
test.cpp \
threedview.cpp \
vtkintersctorstylecustome.cpp \
widget.cpp
HEADERS += \
ImageView.h \
config.h \
mainwindow.h \
test.h \
threedview.h \
vtkincludes.h \
vtkintersctorstylecustome.h \
widget.h
FORMS += \
mainwindow.ui \
widget.ui
win32
{
INCLUDEPATH += $$quote("C:/Program Files/VTK/include/vtk-8.1")
CONFIG(debug, debug|release )
{
}
else
{
QMAKE_LIBDIR += "C:/Program Files/VTK/lib"
LIBS +=
-lvtkalglib-8.1 \
-lvtkChartsCore-8.1 \
-lvtkCommonColor-8.1 \
-lvtkCommonComputationalGeometry-8.1 \
-lvtkCommonCore-8.1 \
-lvtkCommonDataModel-8.1 \
-lvtkCommonExecutionModel-8.1 \
-lvtkCommonMath-8.1 \
-lvtkCommonMisc-8.1 \
-lvtkCommonSystem-8.1 \
-lvtkCommonTransforms-8.1 \
-lvtkDICOM-8.1 \
-lvtkDICOMParser-8.1 \
-lvtkDomainsChemistry-8.1 \
-lvtkDomainsChemistryOpenGL2-8.1 \
-lvtkexoIIc-8.1 \
-lvtkexpat-8.1 \
-lvtkFiltersAMR-8.1 \
-lvtkFiltersCore-8.1 \
-lvtkFiltersExtraction-8.1 \
-lvtkFiltersFlowPaths-8.1 \
-lvtkFiltersGeneral-8.1 \
-lvtkFiltersGeneric-8.1 \
-lvtkFiltersGeometry-8.1 \
-lvtkFiltersHybrid-8.1 \
-lvtkFiltersHyperTree-8.1 \
-lvtkFiltersImaging-8.1 \
-lvtkFiltersModeling-8.1 \
-lvtkFiltersParallel-8.1 \
-lvtkFiltersParallelImaging-8.1 \
-lvtkFiltersPoints-8.1 \
-lvtkFiltersProgrammable-8.1 \
-lvtkFiltersSelection-8.1 \
-lvtkFiltersSMP-8.1 \
-lvtkFiltersSources-8.1 \
-lvtkFiltersStatistics-8.1 \
-lvtkFiltersTexture-8.1 \
-lvtkFiltersTopology-8.1 \
-lvtkFiltersVerdict-8.1 \
-lvtkfreetype-8.1 \
-lvtkGeovisCore-8.1 \
-lvtkgl2ps-8.1 \
-lvtkglew-8.1 \
-lvtkGUISupportQt-8.1 \
-lvtkGUISupportQtOpenGL-8.1 \
-lvtkGUISupportQtSQL-8.1 \
-lvtkhdf5_hl-8.1 \
-lvtkhdf5-8.1 \
-lvtkImagingColor-8.1 \
-lvtkImagingCore-8.1 \
-lvtkImagingFourier-8.1 \
-lvtkImagingGeneral-8.1 \
-lvtkImagingHybrid-8.1 \
-lvtkImagingMath-8.1 \
-lvtkImagingMorphological-8.1 \
-lvtkImagingOpenGL2-8.1 \
-lvtkImagingSources-8.1 \
-lvtkImagingStatistics-8.1 \
-lvtkImagingStencil-8.1 \
-lvtkInfovisCore-8.1 \
-lvtkInfovisLayout-8.1 \
-lvtkInteractionImage-8.1 \
-lvtkInteractionStyle-8.1 \
-lvtkInteractionWidgets-8.1 \
-lvtkIOAMR-8.1 \
-lvtkIOCore-8.1 \
-lvtkIOEnSight-8.1 \
-lvtkIOExodus-8.1 \
-lvtkIOExport-8.1 \
-lvtkIOExportOpenGL2-8.1 \
-lvtkIOGeometry-8.1 \
-lvtkIOImage-8.1 \
-lvtkIOImport-8.1 \
-lvtkIOInfovis-8.1 \
-lvtkIOLegacy-8.1 \
-lvtkIOLSDyna-8.1 \
-lvtkIOMINC-8.1 \
-lvtkIOMovie-8.1 \
-lvtkIONetCDF-8.1 \
-lvtkIOParallel-8.1 \
-lvtkIOParallelXML-8.1 \
-lvtkIOPLY-8.1 \
-lvtkIOSQL-8.1 \
-lvtkIOTecplotTable-8.1 \
-lvtkIOVideo-8.1 \
-lvtkIOXML-8.1 \
-lvtkIOXMLParser-8.1 \
-lvtkjpeg-8.1 \
-lvtkjsoncpp-8.1 \
-lvtklibharu-8.1 \
-lvtklibxml2-8.1 \
-lvtklz4-8.1 \
-lvtkmetaio-8.1 \
-lvtkNetCDF-8.1 \
-lvtkoggtheora-8.1 \
-lvtkParallelCore-8.1 \
-lvtkpng-8.1 \
-lvtkproj4-8.1 \
-lvtkRenderingAnnotation-8.1 \
-lvtkRenderingContext2D-8.1 \
-lvtkRenderingContextOpenGL2-8.1 \
-lvtkRenderingCore-8.1 \
-lvtkRenderingFreeType-8.1 \
-lvtkRenderingGL2PSOpenGL2-8.1 \
-lvtkRenderingImage-8.1 \
-lvtkRenderingLabel-8.1 \
-lvtkRenderingLOD-8.1 \
-lvtkRenderingOpenGL2-8.1 \
-lvtkRenderingQt-8.1 \
-lvtkRenderingVolume-8.1 \
-lvtkRenderingVolumeOpenGL2-8.1 \
-lvtksqlite-8.1 \
-lvtksys-8.1 \
-lvtktiff-8.1 \
-lvtkverdict-8.1 \
-lvtkViewsContext2D-8.1 \
-lvtkViewsCore-8.1 \
-lvtkViewsInfovis-8.1 \
-lvtkViewsQt-8.1 \
-lvtkzlib-8.1
}
}
qnx: target.path = /tmp/$${TARGET}/bin
else:
unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
RESOURCES += \ Icon.qrc
win32
{
INCLUDEPATH += $$quote("C:/Program Files/ITK/include/ITK-5.2")
CONFIG(debug, debug|release )
{
}
else
{
QMAKE_LIBDIR += "C:/Program Files/ITK/lib"
LIBS +=
-litksys-5.2\
-lITKBiasCorrection-5.2\
-lITKColormap-5.2\
-lITKCommon-5.2\
-lITKConvolution-5.2\
-lITKDeformableMesh-5.2\
-lITKDenoising-5.2\
-lITKDICOMParser-5.2\
-lITKDiffusionTensorImage-5.2\
-litkdouble-conversion-5.2\
-lITKEXPAT-5.2\
-lITKFastMarching-5.2\
-lITKFFT-5.2\
-litkgdcmcharls-5.2\
-litkgdcmCommon-5.2\
-litkgdcmDICT-5.2\
-litkgdcmDSED-5.2\
-litkgdcmIOD-5.2\
-litkgdcmjpeg8-5.2\
-litkgdcmjpeg12-5.2\
-litkgdcmjpeg16-5.2\
-litkgdcmMEXD-5.2\
-litkgdcmMSFF-5.2\
-litkgdcmopenjp2-5.2\
-litkgdcmsocketxx-5.2\
-lITKgiftiio-5.2\
-litkhdf5_cpp-shared-5.2\
-litkhdf5-shared-5.2\
-lITKImageFeature-5.2\
-lITKImageIntensity-5.2\
-lITKIOBioRad-5.2\
-lITKIOBMP-5.2\
-lITKIOBruker-5.2\
-lITKIOBruker-5.2\
-lITKIOGDCM-5.2\
-lITKIOGE-5.2\
-lITKIOGIPL-5.2\
-lITKIOGIPL-5.2\
-lITKIOImageBase-5.2\
-lITKIOIPL-5.2\
-lITKIOIPL-5.2\
-lITKIOIPL-5.2\
-lITKIOIPL-5.2\
-lITKIOIPL-5.2\
-lITKIOMeshBYU-5.2\
-lITKIOMeshFreeSurfer-5.2\
-lITKIOMeshGifti-5.2\
-lITKIOMeshOBJ-5.2\
-lITKIOMeshOFF-5.2\
-lITKIOMeshVTK-5.2\
-lITKIOMeta-5.2\
-lITKIOMINC-5.2\
-lITKIOMRC-5.2\
-lITKIONIFTI-5.2\
-lITKIONRRD-5.2\
-lITKIOPNG-5.2\
-lITKIOSiemens-5.2\
-lITKIOSpatialObjects-5.2\
-lITKIOStimulate-5.2\
-lITKIOTIFF-5.2\
-lITKIOTransformBase-5.2\
-lITKIOTransformHDF5-5.2\
-lITKIOTransformInsightLegacy-5.2\
-lITKIOTransformMatlab-5.2\
-lITKIOVTK-5.2\
-lITKIOXML-5.2\
-litkjpeg-5.2\
-lITKKLMRegionGrowing-5.2\
-lITKLabelMap-5.2\
-litklbfgs-5.2\
-lITKMarkovRandomFieldsClassifiers-5.2\
-lITKMathematicalMorphology-5.2\
-lITKMesh-5.2\
-lITKMetaIO-5.2\
-litkminc2-5.2\
-litkNetlibSlatec-5.2\
-lITKniftiio-5.2\
-lITKNrrdIO-5.2\
-litkopenjpeg-5.2\
-lITKOptimizers-5.2\
-lITKOptimizersv4-5.2\
-lITKPath-5.2\
-lITKPDEDeformableRegistration-5.2\
-litkpng-5.2\
-lITKPolynomials-5.2\
-lITKQuadEdgeMesh-5.2\
-lITKQuadEdgeMeshFiltering-5.2\
-lITKRegionGrowing-5.2\
-lITKRegistrationMethodsv4-5.2\
-lITKSmoothing-5.2\
-lITKSpatialObjects-5.2\
-lITKStatistics-5.2\
-lITKTestKernel-5.2\
-litktestlib-5.2\
-litktiff-5.2\
-lITKTransform-5.2\
-lITKTransformFactory-5.2\
-litkv3p_netlib-5.2\
-litkvcl-5.2\
-lITKVideoCore-5.2\
-lITKVideoIO-5.2\
-litkvnl_algo-5.2\
-litkvnl-5.2\
-lITKVNLInstantiation-5.2\
-lITKVTK-5.2\
-lITKWatersheds-5.2\
-litkzlib-5.2\
-lITKznz-5.2
}
}
I tried many ways to sort out the issue. But still it exist. Any body please help me to sort out the issues.
Thanks in advance
Deepak Murali
Upvotes: 0
Views: 220
Reputation: 1
Thank you all. Answer for the above question is available in the given url.Error while link ITK and VTK libraries to QT
Upvotes: 0
Reputation: 3395
ITK and VTK are meant to be used with CMake. If you don't, you need to handle all the include files and linking details yourself. Even Qt switched from QMake to CMake with Qt6.
If you insist to go without CMake, take a look at https://itk.org/Wiki/ITK/Using_ITK_Without_CMake
Upvotes: 1