WT - 2025年6月
type: channel
link: https://www.wholl.top/2025/06/
description: Your description is not here.
items: 给vs2019项目配置opencv（使用cmake）
items: ijg的JPEG库编译
items: libtiff编译问题

给vs2019项目配置opencv（使用cmake）
type: item
date: 2025-06-19T11:15:00+08:00
description: 用到的工具版本号：cmake 3.18.0 vs2019社区版 16.11.21 opencv 4.12.0（按生成的world版本号应该是这个，但是不知道为什么官网release目录下没找到这个版本 ::(疑问) ）先在gitbash执行git clone https://github.com/opencv/opencv指令把源码扒下来找到文件保存的位置(跟系统搜索栏进入cmd里的目录是同一个位置，我这里是C:\Users\1，1是我的用户名)，打开cmake-gui，源码位置填opencv主目录，build目录指定一个另外的目录Add entry加入键名"DOPENCV_DOWNLOAD_MIRROR_ID"，类型STRING，键值"gitcode"（这个换gitcode镜像源不确定有没有用，csdn的东西我不好评价）entry里面勾选BUILD_opencv_world，这个是导入vs项目lib库时用到的，相当于把其他所有opencv依赖库整合在一起了，导入时只填这个opencv_world版本号.lib库就可以了configure选择vs2019、x64,完了再generate，没成功多试几次接着点open project会自动打开生成的vs2019解决方案，按自己需求vs配置选x64-release或者x64-debug啥的先右键生成ALL_BUILD项目，再右键生成INSTALL项目，然后就会在build目录底下生成一个install文件夹把install文件夹底下的include文件夹直接复制到自己项目主目录./install/x64/vc16/lib下的opencv_world4120.lib复制到自己项目主目录的lib目录下./install/x64/vc16/bin下的opencv_world4120.dll复制到自己项目x64/release和x64/debug目录下Vs2019右键项目属性c/c++→常规→附加包含目录，加上项目主目录下include的地址链接器→常规→附加库目录，加上主目录下lib的地址链接器→输入→附加依赖项，加上opencv_world4120.lib，再点确认或者应用即可完成opencv导入vs2019配环境一生之敌 ::(酸爽)

ijg的JPEG库编译
type: item
date: 2025-06-06T16:35:00+08:00
description: 2025-06-30：写完这篇文章后发现，虽然编译成功了，能够正常使用libtiff库，但是libtiff库默认不支持jpeg格式，所以如果需要libtiff能够解析jpeg格式文件，需要附带jpeg进行编译，这个我还没有完全实现。待填坑ing……背景：Windows11、VS2019、已成功安装libtiff库但无法解析使用了JPEG压缩的tiff或者svs图像使用libtiff库时报错：xxx.tiff: JPEG compression support is not configured.问题出现的原因是libtiff库本身不支持JPEG压缩，所以需要额外安装JPEG压缩第三方库步骤：1.首先是安装并解压 JPEG压缩包，点击界面上的 jpegsr9f.zip 链接就会自动下载zip包2.打开vs2019的“Developer Command Prompt for VS 2019”工具（系统搜索能搜到）3.cd到jpeg-9f这个目录4.键入命令行 nmake /f makefile.vs setup-v16 ，当前目录下会自动生成一个jpeg.sln5.用vs2019打开jpeg项目，配置改成release x64，右键项目生成6.测试是否成功：vs2019打开jpeg-9f目录下的apps.sln，全部生成7.还是用第二步的工具，在jpeg-9f/这个目录下，执行命令 nmake /f makefile.vs test-64 8.若出现下面这个结果则表示JPEG库编译成功Microsoft (R) 程序维护实用工具 14.29.30147.0 版 版权所有 (C) Microsoft Corporation。 保留所有权利。 IF EXIST .\Release\testout* del .\Release\testout* .\Release\x64\djpeg -dct int -ppm -outfile .\Release\testout.ppm testorig.jpg .\Release\x64\djpeg -dct int -gif -outfile .\Release\testout.gif testorig.jpg .\Release\x64\djpeg -dct int -bmp -colors 256 -outfile .\Release\testout.bmp testorig.jpg .\Release\x64\cjpeg -dct int -outfile .\Release\testout.jpg testimg.ppm .\Release\x64\djpeg -dct int -ppm -outfile .\Release\testoutp.ppm testprog.jpg .\Release\x64\cjpeg -dct int -progressive -opt -outfile .\Release\testoutp.jpg testimg.ppm .\Release\x64\jpegtran -outfile .\Release\testoutt.jpg testprog.jpg fc /b testimg.ppm .\Release\testout.ppm 正在比较文件 testimg.ppm 和 .\RELEASE\TESTOUT.PPM FC: 找不到差异 fc /b testimg.gif .\Release\testout.gif 正在比较文件 testimg.gif 和 .\RELEASE\TESTOUT.GIF FC: 找不到差异 fc /b testimg.bmp .\Release\testout.bmp 正在比较文件 testimg.bmp 和 .\RELEASE\TESTOUT.BMP FC: 找不到差异 fc /b testimg.jpg .\Release\testout.jpg 正在比较文件 testimg.jpg 和 .\RELEASE\TESTOUT.JPG FC: 找不到差异 fc /b testimg.ppm .\Release\testoutp.ppm 正在比较文件 testimg.ppm 和 .\RELEASE\TESTOUTP.PPM FC: 找不到差异 fc /b testimgp.jpg .\Release\testoutp.jpg 正在比较文件 testimgp.jpg 和 .\RELEASE\TESTOUTP.JPG FC: 找不到差异 fc /b testorig.jpg .\Release\testoutt.jpg 正在比较文件 testorig.jpg 和 .\RELEASE\TESTOUTT.JPG FC: 找不到差异...

libtiff编译问题
type: item
date: 2025-06-05T17:20:00+08:00
description: 环境VS2019、Windows11、cmake-3.18.0-win64-x64、待安装libtiff版本是4.7.0注意：高版本的cmake必然会报错，太低版本的又不支持vs2019，而cmake3.18.0刚刚好，既能支持vs2019也能编译出libtiff库4.7.0这个版本cmake-gui 4.0.2报错：弹窗报错Error inconfiguration process，preject files may be invalid具体的报错信息（balabala一堆反正就是版本有问题，libtiff库这里cmakelists.txt这个版本号都是最小3.9了，不太懂）CMake Error at doc/CMakeLists.txt:27 (cmake_minimum_required): Compatibility with CMake < 3.5 has been removed from CMake.Update the VERSION argument value. Or, use the ... syntax to tell CMake that the project requires at least but has been updated to work with policies introduced by or earlier.Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.步骤：1.下载并解压各个版本libtiff下载地址2.cmake3.18.0 gui打开，如下图所示去配置3.点击configure再点击generate就把该要的全部输出到第二个目录底下了4.直接把tiff文件夹底下的include和lib目录放到vs项目的主目录下vs2019项目配置：1.C/C++常规->附加包含目录加上$(ProjectDir)include2.链接器->常规->附加库目录加上$(ProjectDir)lib3.链接器->输入->附加依赖项加上tiff.lib和tiffxx.lib