Describe the bug
I've built pcl through vcpkg and have create my own cmake files to find_package and target_link_libraries. It builds fine. But, when I try to run in x64 debug, it fails to start.
This seems to be due to pcl_io_debug.dll in the vcpkg install being linked to both the debug and release versions of libpng16. Here is an excerpt of the generated build.ninja from vcpkg\buildtrees\pcl\x64-windows-dbg:
build bin\pcl_io_debug.dll lib\pcl_io_debug.lib: CXX_SHARED_LIBRARY_LINKER__pcl_io io\CMakeFiles\pcl_io.dir\src\debayer.cpp.obj io\CMakeFiles\pcl_io.dir\src\pcd_grabber.cpp.obj io\CMakeFiles\pcl_io.dir\src\pcd_io.cpp.obj io\CMakeFiles\pcl_io.dir\src\vtk_io.cpp.obj io\CMakeFiles\pcl_io.dir\src\ply_io.cpp.obj io\CMakeFiles\pcl_io.dir\src\ascii_io.cpp.obj io\CMakeFiles\pcl_io.dir\src\compression.cpp.obj io\CMakeFiles\pcl_io.dir\src\lzf.cpp.obj io\CMakeFiles\pcl_io.dir\src\lzf_image_io.cpp.obj io\CMakeFiles\pcl_io.dir\src\obj_io.cpp.obj io\CMakeFiles\pcl_io.dir\src\ifs_io.cpp.obj io\CMakeFiles\pcl_io.dir\src\image_grabber.cpp.obj io\CMakeFiles\pcl_io.dir\src\hdl_grabber.cpp.obj io\CMakeFiles\pcl_io.dir\src\vlp_grabber.cpp.obj io\CMakeFiles\pcl_io.dir\src\robot_eye_grabber.cpp.obj io\CMakeFiles\pcl_io.dir\src\file_io.cpp.obj io\CMakeFiles\pcl_io.dir\src\auto_io.cpp.obj io\CMakeFiles\pcl_io.dir\src\io_exception.cpp.obj io\CMakeFiles\pcl_io.dir\src\vtk_lib_io.cpp.obj io\CMakeFiles\pcl_io.dir\src\png_io.cpp.obj io\CMakeFiles\pcl_io.dir\src\libpng_wrapper.cpp.obj | C$:\lab\vcpkg\installed\x64-windows\debug\lib\boost_filesystem-vc140-mt-gd.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\boost_thread-vc140-mt-gd.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\boost_date_time-vc140-mt-gd.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\boost_iostreams-vc140-mt-gd.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\boost_system-vc140-mt-gd.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\boost_chrono-vc140-mt-gd.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\boost_atomic-vc140-mt-gd.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\boost_regex-vc140-mt-gd.lib lib\pcl_common_debug.lib lib\pcl_io_ply_debug.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\debug\lib\zlibd.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\freetype.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\debug\lib\freetyped.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\double-conversion.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\lz4.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\debug\lib\lz4d.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\lzma.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\debug\lib\lzmad.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\expat.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\glew32.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\debug\lib\glew32d.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkDomainsChemistryOpenGL2-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersFlowPaths-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersGeneric-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersHyperTree-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersParallelImaging-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersPoints-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersProgrammable-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersSMP-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersSelection-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersTexture-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersTopology-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersVerdict-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkGUISupportMFC-8.2.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\jpeg.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\debug\lib\jpegd.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\libpng16.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\debug\lib\libpng16d.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\tiff.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\debug\lib\tiffd.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\proj.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\debug\lib\projd.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\hdf5.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\debug\lib\hdf5_D.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\hdf5_hl.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\debug\lib\hdf5_hl_D.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOAMR-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOAsynchronous-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOCityGML-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOEnSight-8.2.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\netcdf.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOExodus-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOExportOpenGL2-8.2.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\libhpdf.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\debug\lib\libhpdfd.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOExportPDF-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOImport-8.2.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\libxml2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOInfovis-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOLSDyna-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOMINC-8.2.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\ogg.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\theoraenc.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\theoradec.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOMovie-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOPLY-8.2.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\jsoncpp.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOParallel-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOParallelXML-8.2.lib C$:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\sqlite3.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOSQL-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOSegY-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOTecplotTable-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOVeraOut-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOVideo-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkImagingMorphological-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkImagingStatistics-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkImagingStencil-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkInteractionImage-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkRenderingContextOpenGL2-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkRenderingImage-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkRenderingLOD-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkRenderingVolumeOpenGL2-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkViewsContext2D-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkViewsGeovis-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\libpng16d.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\zlibd.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\boost_filesystem-vc140-mt-gd.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\boost_thread-vc140-mt-gd.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\boost_date_time-vc140-mt-gd.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\boost_iostreams-vc140-mt-gd.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\boost_system-vc140-mt-gd.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\boost_chrono-vc140-mt-gd.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\boost_atomic-vc140-mt-gd.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\boost_regex-vc140-mt-gd.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkDomainsChemistry-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkverdict-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersAMR-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOExport-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkRenderingGL2PSOpenGL2-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkgl2ps-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\libpng16d.lib C$:\lab\vcpkg\installed\x64-windows\lib\ogg.lib C$:\lab\vcpkg\installed\x64-windows\lib\theoraenc.lib C$:\lab\vcpkg\installed\x64-windows\lib\theoradec.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersParallel-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkexodusII-8.2.lib C$:\lab\vcpkg\installed\x64-windows\lib\netcdf.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOGeometry-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIONetCDF-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkParallelCore-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOLegacy-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkRenderingOpenGL2-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkImagingMath-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\glew32d.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkGeovisCore-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\projd.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkViewsInfovis-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkChartsCore-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkRenderingContext2D-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersImaging-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkInfovisLayout-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkInfovisCore-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkViewsCore-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkInteractionWidgets-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersHybrid-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkImagingGeneral-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkImagingSources-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersModeling-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkImagingHybrid-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOImage-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkDICOMParser-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkmetaio-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\zlibd.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkInteractionStyle-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersExtraction-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersStatistics-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkImagingFourier-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkRenderingAnnotation-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkImagingColor-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkRenderingVolume-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkImagingCore-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOXML-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOXMLParser-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOCore-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkRenderingLabel-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkRenderingFreeType-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkRenderingCore-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkCommonColor-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersGeometry-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersSources-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersGeneral-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkCommonComputationalGeometry-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersCore-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkCommonExecutionModel-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkCommonDataModel-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkCommonMisc-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkCommonSystem-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtksys-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkCommonTransforms-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkCommonMath-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\vtkCommonCore-8.2.lib C$:\lab\vcpkg\installed\x64-windows\debug\lib\freetyped.lib || bin\pcl_common_debug.dll bin\pcl_io_ply_debug.dll
LANGUAGE_COMPILE_FLAGS = /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP /FS -openmp -DBOOST_ALL_DYN_LINK -DBOOST_ALL_NO_LIB /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1
LINK_FLAGS = /machine:x64 /NODEFAULTLIB:LIBCMTD /debug /INCREMENTAL
LINK_LIBRARIES = C:\lab\vcpkg\installed\x64-windows\debug\lib\boost_filesystem-vc140-mt-gd.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\boost_thread-vc140-mt-gd.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\boost_date_time-vc140-mt-gd.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\boost_iostreams-vc140-mt-gd.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\boost_system-vc140-mt-gd.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\boost_chrono-vc140-mt-gd.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\boost_atomic-vc140-mt-gd.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\boost_regex-vc140-mt-gd.lib delayimp.lib lib\pcl_common_debug.lib lib\pcl_io_ply_debug.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\debug\lib\zlibd.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\freetype.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\debug\lib\freetyped.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\double-conversion.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\lz4.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\debug\lib\lz4d.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\lzma.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\debug\lib\lzmad.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\expat.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\glew32.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\debug\lib\glew32d.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkDomainsChemistryOpenGL2-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersFlowPaths-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersGeneric-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersHyperTree-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersParallelImaging-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersPoints-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersProgrammable-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersSMP-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersSelection-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersTexture-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersTopology-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersVerdict-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkGUISupportMFC-8.2.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\jpeg.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\debug\lib\jpegd.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\libpng16.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\debug\lib\libpng16d.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\tiff.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\debug\lib\tiffd.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\proj.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\debug\lib\projd.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\hdf5.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\debug\lib\hdf5_D.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\hdf5_hl.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\debug\lib\hdf5_hl_D.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOAMR-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOAsynchronous-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOCityGML-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOEnSight-8.2.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\netcdf.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOExodus-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOExportOpenGL2-8.2.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\libhpdf.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\debug\lib\libhpdfd.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOExportPDF-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOImport-8.2.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\libxml2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOInfovis-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOLSDyna-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOMINC-8.2.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\ogg.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\theoraenc.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\theoradec.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOMovie-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOPLY-8.2.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\jsoncpp.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOParallel-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOParallelXML-8.2.lib C:\lab\vcpkg\installed\x64-windows\share\vtk\..\..\lib\sqlite3.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOSQL-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOSegY-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOTecplotTable-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOVeraOut-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOVideo-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkImagingMorphological-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkImagingStatistics-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkImagingStencil-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkInteractionImage-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkRenderingContextOpenGL2-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkRenderingImage-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkRenderingLOD-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkRenderingVolumeOpenGL2-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkViewsContext2D-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkViewsGeovis-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\libpng16d.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\zlibd.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\boost_filesystem-vc140-mt-gd.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\boost_thread-vc140-mt-gd.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\boost_date_time-vc140-mt-gd.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\boost_iostreams-vc140-mt-gd.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\boost_system-vc140-mt-gd.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\boost_chrono-vc140-mt-gd.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\boost_atomic-vc140-mt-gd.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\boost_regex-vc140-mt-gd.lib delayimp.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkDomainsChemistry-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkverdict-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersAMR-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOExport-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkRenderingGL2PSOpenGL2-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkgl2ps-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\libpng16d.lib C:\lab\vcpkg\installed\x64-windows\lib\ogg.lib C:\lab\vcpkg\installed\x64-windows\lib\theoraenc.lib C:\lab\vcpkg\installed\x64-windows\lib\theoradec.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersParallel-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkexodusII-8.2.lib C:\lab\vcpkg\installed\x64-windows\lib\netcdf.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOGeometry-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIONetCDF-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkParallelCore-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOLegacy-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkRenderingOpenGL2-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkImagingMath-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\glew32d.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkGeovisCore-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\projd.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkViewsInfovis-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkChartsCore-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkRenderingContext2D-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersImaging-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkInfovisLayout-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkInfovisCore-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkViewsCore-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkInteractionWidgets-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersHybrid-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkImagingGeneral-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkImagingSources-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersModeling-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkImagingHybrid-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOImage-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkDICOMParser-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkmetaio-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\zlibd.lib comctl32.lib wsock32.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkInteractionStyle-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersExtraction-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersStatistics-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkImagingFourier-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkRenderingAnnotation-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkImagingColor-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkRenderingVolume-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkImagingCore-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOXML-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOXMLParser-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkIOCore-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkRenderingLabel-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkRenderingFreeType-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkRenderingCore-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkCommonColor-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersGeometry-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersSources-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersGeneral-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkCommonComputationalGeometry-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkFiltersCore-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkCommonExecutionModel-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkCommonDataModel-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkCommonMisc-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkCommonSystem-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtksys-8.2.lib ws2_32.lib Psapi.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkCommonTransforms-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkCommonMath-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\vtkCommonCore-8.2.lib C:\lab\vcpkg\installed\x64-windows\debug\lib\freetyped.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib
LINK_PATH = -LIBPATH:C:\lab\vcpkg\installed\x64-windows\lib -LIBPATH:C:\lab\vcpkg\installed\x64-windows\debug\lib
OBJECT_DIR = io\CMakeFiles\pcl_io.dir
POST_BUILD = cd .
PRE_LINK = cd .
RESTAT = 1
TARGET_COMPILE_PDB = io\CMakeFiles\pcl_io.dir\
TARGET_FILE = bin\pcl_io_debug.dll
TARGET_IMPLIB = lib\pcl_io_debug.lib
TARGET_PDB = bin\pcl_io_debug.pdb
RSP_FILE = CMakeFiles\pcl_io.rsp
You'll notice both libpng16.lib and libpng16d.lib in the link line.
I've tried to track down this further, but I wasn't able to follow. I'm still trying to get a handle on cmake and vcpkg. Any ideas?
Environment
Windows - x64 - debug
Visual Studio 2019
To Reproduce
Steps to reproduce the behavior:
Expected behavior
libpng16.dll should not be linked to when building a debug version.
Failure logs
Additional context
N/a

Confirmed, debug library link to libpng release library.
This is because vtk does not solve the dependency library of debug and release.
The following libraries are not solved:
Related: #1627.
Just ran into the same problem when using the PLYWriter class from PCL in x64 debug mode. Looking forward to the fix.
Same issue here. Seen via vtk via pcl.
I encountered this problem and found a quick fix. In io/CMakeLists.txt, swap the order in which VTK libraries and libpng are included. This way, when the debug DLL for pcl_io is built, the debug version of libpng will be looked up first and used to satisfy linking dependency, before the release version of libpng is pulled in due to VTK.
diff --git a/io/CMakeLists.txt b/io/CMakeLists.txt
index 1741230..2e7aa4e 100644
--- a/io/CMakeLists.txt
+++ b/io/CMakeLists.txt
@@ -334,12 +334,13 @@ set(LIB_NAME "pcl_${SUBSYS_NAME}")
add_definitions(${VTK_DEFINES})
PCL_ADD_LIBRARY(${LIB_NAME} COMPONENT ${SUBSYS_NAME} SOURCES ${srcs} ${incs} ${compression_incs} ${impl_incs} ${OPENNI_INCLUDES} ${OPENNI2_INCLUDES})
target_include_directories(${LIB_NAME} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
-link_directories(${VTK_LINK_DIRECTORIES})
-target_link_libraries("${LIB_NAME}" pcl_common pcl_io_ply ${VTK_LIBRARIES})
+
if(PNG_FOUND)
target_link_libraries("${LIB_NAME}" ${PNG_LIBRARIES})
endif()
+link_directories(${VTK_LINK_DIRECTORIES})
+target_link_libraries("${LIB_NAME}" pcl_common pcl_io_ply ${VTK_LIBRARIES})
if(LIBUSB_1_FOUND)
target_link_libraries("${LIB_NAME}" ${LIBUSB_1_LIBRARIES})
endif()
Hi guys, I've fixed this issue.
Please update vcpkg and rebuild pcl.
Thanks.
Most helpful comment
I encountered this problem and found a quick fix. In
io/CMakeLists.txt, swap the order in which VTK libraries and libpng are included. This way, when the debug DLL for pcl_io is built, the debug version of libpng will be looked up first and used to satisfy linking dependency, before the release version of libpng is pulled in due to VTK.