mirror of
https://github.com/opencv/opencv.git
synced 2025-01-19 06:53:50 +08:00
fix link order: put zlib after png/tiff/openexr
Previous link dependency: imgcodecs --> zlib --> libpng this can generate imgcodecs shared lib, until Visual Studio integrated with vcpkg, which will additionally specify LIBPATH, pointing to vcpkg installed zlib (if any), which links the wrong zlib. Fixed link dependency: imgcodecs --> libpng --> zlib in this fixed case, symbols in zlib referenced in libpng will be found in the build-from-source static zlib, instead of the vcpkg one. related discussion: - https://github.com/microsoft/vcpkg/issues/16165 - https://github.com/opencv/opencv/issues/17051 - https://github.com/opencv/opencv/issues/10576 MSVC linking order reference pages: - https://docs.microsoft.com/en-us/cpp/build/reference/link-input-files?view=msvc-160 for link order - https://docs.microsoft.com/en-us/cpp/build/reference/linking?view=msvc-160 LIB environment variable, for library file searching - https://docs.microsoft.com/en-us/cpp/build/reference/libpath-additional-libpath?view=msvc-160 LIBPATH option, for library file searching
This commit is contained in:
parent
6ee23c9b85
commit
84a290097b
@ -13,11 +13,6 @@ if(HAVE_WINRT_CX AND NOT WINRT)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /ZW")
|
||||
endif()
|
||||
|
||||
if(HAVE_PNG OR HAVE_TIFF OR HAVE_OPENEXR)
|
||||
ocv_include_directories(${ZLIB_INCLUDE_DIRS})
|
||||
list(APPEND GRFMT_LIBS ${ZLIB_LIBRARIES})
|
||||
endif()
|
||||
|
||||
if(HAVE_JPEG)
|
||||
ocv_include_directories(${JPEG_INCLUDE_DIR} ${${JPEG_LIBRARY}_BINARY_DIR})
|
||||
list(APPEND GRFMT_LIBS ${JPEG_LIBRARIES})
|
||||
@ -58,6 +53,11 @@ if(HAVE_OPENEXR)
|
||||
list(APPEND GRFMT_LIBS ${OPENEXR_LIBRARIES})
|
||||
endif()
|
||||
|
||||
if(HAVE_PNG OR HAVE_TIFF OR HAVE_OPENEXR)
|
||||
ocv_include_directories(${ZLIB_INCLUDE_DIRS})
|
||||
list(APPEND GRFMT_LIBS ${ZLIB_LIBRARIES})
|
||||
endif()
|
||||
|
||||
if(HAVE_GDAL)
|
||||
include_directories(SYSTEM ${GDAL_INCLUDE_DIR})
|
||||
list(APPEND GRFMT_LIBS ${GDAL_LIBRARY})
|
||||
|
Loading…
Reference in New Issue
Block a user