编译 libpng zlib mozjpeg libjpeg-turbo 失败的解决方法

使用vcpkg 进行下载

在使用vcpkg安装这些库之前,请确保你已经正确安装并配置了vcpkg。以下是在Windows环境下,使用vcpkg安装libpng, zlib, mozjpeg, 和 libjpeg-turbo的命令序列。这些命令假设你已经在命令行中进入了vcpkg的根目录。

  1. 安装zlib:

    vcpkg install zlib
    
  2. 安装libpng:
    由于libpng依赖于zlib,vcpkg在安装libpng时会自动处理zlib的依赖关系。

    vcpkg install libpng
    
  3. 安装mozjpeg:
    mozjpeg是一个JPEG库,提供更好的压缩效率。

    vcpkg install mozjpeg
    
  4. 安装libjpeg-turbo:
    libjpeg-turbo是另一个JPEG库,以其高速度而闻名。请注意,如果你的应用程序只需要一个JPEG库,通常选择libjpeg-turbo或mozjpeg之一即可,除非有特定需求同时使用两者。

    vcpkg install libjpeg-turbo
    

注意

  • 在执行安装命令前,如果这是你第一次使用vcpkg,可能需要先运行.\bootstrap-vcpkg.bat(Windows)或./bootstrap-vcpkg.sh(Linux/macOS)来初始化vcpkg。
  • 如果你需要为特定的编译器或平台(如x64-windows, x86-windows等)安装这些库,请在库名后加上相应的三段式目标指定符,例如:vcpkg install libpng:x64-windows
  • 安装过程中,vcpkg会自动处理依赖项,但有时候可能需要手动解决依赖问题或冲突。
  • 成功安装后,要将这些库集成到你的项目中,通常需要设置正确的包含目录和库目录路径,vcpkg提供了方便的集成方法,如通过CMake的find_package或使用vcpkg生成的NuGet包等。可以查看vcpkg的文档获取更详细的集成指南。

补充

在不使用vcpkg 编译 mozjpeg 时,可以手动进行编译,但是以来libpng 和 zlib。 这两个库 可以有vcpkg 生成。
然后修改 mozjpeg的cmake , 让 mozjpeg 自己搜索这两个库 ,但是如果这两个库的路径很远,则需要指定搜索路径。


 
  if(PNG_SUPPORTED)
    # to avoid finding shared library from CMake cache
    unset(PNG_LIBRARY CACHE)
    unset(PNG_LIBRARY_RELEASE CACHE)
    unset(PNG_LIBRARY_DEBUG CACHE)
    unset(ZLIB_LIBRARY CACHE)
    unset(ZLIB_LIBRARY_RELEASE CACHE)
    unset(ZLIB_LIBRARY_DEBUG CACHE)
    #增加这行================================================
    set(CMAKE_PREFIX_PATH "C:/Users/20021/Desktop/vcpkg/packages/libpng_x64-windows;C:/Users/20021/Desktop/vcpkg/packages/zlib_x64-windows;C:/Users/20021/Desktop/vcpkg/packages/libpng_x64-windows/bin;C:/Users/20021/Desktop/vcpkg/packages/zlib_x64-windows/bin")
    #增加这行================================================
    if(APPLE)
      find_package(ZLIB REQUIRED) # macos doesn't have static zlib
    endif()

    set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX})
    find_package(PNG 1.6 REQUIRED)

    if(NOT APPLE)
      find_package(ZLIB REQUIRED)
    endif()

    target_include_directories(cjpeg-static PUBLIC ${PNG_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR})
    target_link_libraries(cjpeg-static ${PNG_LIBRARY} ${ZLIB_LIBRARY})
  endif()

  add_executable(djpeg-static djpeg.c cdjpeg.c rdcolmap.c rdswitch.c wrgif.c
    wrppm.c ${DJPEG_BMP_SOURCES})
  set_property(TARGET djpeg-static PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS})
  target_link_libraries(djpeg-static jpeg-static)

  if(UNIX)
    target_link_libraries(djpeg-static m)
  endif()

  add_executable(jpegtran-static jpegtran.c cdjpeg.c rdswitch.c transupp.c)
  target_link_libraries(jpegtran-static jpeg-static)

  if(UNIX)
    target_link_libraries(jpegtran-static m)
  endif()

  set_property(TARGET jpegtran-static PROPERTY COMPILE_FLAGS "${USE_SETMODE}")
endif()

和 sharedlib/CMakeLists.txt


if(PNG_SUPPORTED)
  # to avoid finding static library from CMake cache
  unset(PNG_LIBRARY CACHE)
  unset(PNG_LIBRARY_RELEASE CACHE)
  unset(PNG_LIBRARY_DEBUG CACHE)
  unset(ZLIB_LIBRARY CACHE)
  unset(ZLIB_LIBRARY_RELEASE CACHE)
  unset(ZLIB_LIBRARY_DEBUG CACHE)
  set(CMAKE_PREFIX_PATH "C:/Users/20021/Desktop/vcpkg/packages/libpng_x64-windows;C:/Users/20021/Desktop/vcpkg/packages/zlib_x64-windows;C:/Users/20021/Desktop/vcpkg/packages/libpng_x64-windows/bin;C:/Users/20021/Desktop/vcpkg/packages/zlib_x64-windows/bin")
  find_package(PNG 1.6 REQUIRED)
  find_package(ZLIB REQUIRED)
  target_include_directories(cjpeg PUBLIC ${PNG_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR})
  target_link_libraries(cjpeg ${PNG_LIBRARY} ${ZLIB_LIBRARY})
endif()
  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1. 安装libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev libtbb2 libtbb-dev libdc1394 2.x: sudo apt-get install libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev libtbb2 libtbb-dev libdc1394-2.x-dev 2. 安装CUDA Toolkit 6.5: 首先,下载CUDA Toolkit 6.5安装文件,可以在NVIDIA官网下载或使用以下命令: wget http://developer.download.nvidia.com/compute/cuda/6_5/rel/installers/cuda_6.5.14_linux_64.run 然后,运行以下命令进行安装: sudo sh cuda_6.5.14_linux_64.run 在安装过程中,需要按照提示进行选择和配置。 3. 安装opencv: 首先,下载opencv源代码,可以在官网下载或使用以下命令: wget https://github.com/opencv/opencv/archive/4.5.3.zip unzip 4.5.3.zip 然后,进入opencv源代码目录,创建build目录,并进入build目录: cd opencv-4.5.3 mkdir build cd build 接着,运行以下命令进行配置: cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_CUDA=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 .. 其中,WITH_CUDA=ON表示启用CUDA支持,ENABLE_FAST_MATH=1和CUDA_FAST_MATH=1表示启用CUDA快速数学库加速,WITH_CUBLAS=1表示启用CUDA BLAS加速。如果不需要CUDA支持,可以将WITH_CUDA设置为OFF。 然后,运行以下命令进行编译和安装: make -j8 sudo make install 在编译过程中,可以根据需要选择是否启用其他模块和功能。如果需要启用某个模块或功能,可以在cmake命令中添加对应的选项。 编译完成后,可以通过以下命令测试opencv是否安装成功: pkg-config --modversion opencv4 如果输出opencv版本号,则表示安装成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丁金金

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值