欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

libjpeg-turbo 在vs2019下的配置

程序员文章站 2024-02-23 09:47:34
...

工具:libjpeg-turbo 可以快速编解码,Azure Kinect Sensor SDK中就用到了这个工具

https://github.com/microsoft/Azure-Kinect-Sensor-SDK/blob/release/1.3.x/src/record/internal/matroska_read.cpp

libjpeg-turbo Github
https://github.com/libjpeg-turbo/libjpeg-turbo

可以从 github 的源代码,用cmake编译。需要安装nmake,就先看看有没有release版本

libjpeg-turbosourceforge 上放出的编译好的 2.0.3 版本:

libjpeg-turbo 2.0.3

https://sourceforge.net/projects/libjpeg-turbo/files/2.0.3/

下载libjpeg-turbo-2.0.3-vc64.exe
安装(解压):
libjpeg-turbo64文件夹下:

├─bin
├─classes
├─doc
├─include
├─lib
│  └─pkgconfig
└─man
    └─man1

结构类似于OpenCV库
我下载了libjpeg-turbo-2.0.3-gcc64.exe,其中,lib下是.a文件,为了和vs配合,还是使用libjpeg-turbo-2.0.3-vc64.exe, 其目录lib下是.lib文件

于是照样子配置下。

配置

  1. VC++ Directories/Include Directories 新建:$(LIBJEPEGTURBO_PATH)\include

    1. 新建系统变量:LIBJEPEGTURBO_PATHD:\libjpeg-turbo-gcc64 顺手新建一个环境变量:%LIBJPEGTURBO_PATH%\bin 对应动态库位置
    2. 以后得搞个脚本更新环境变量啊,在电脑属性中设置环境变量以后,以后启动的程序和线程会生效,而对以前驻留内存的程序不起作用
  2. Linker/General/Addtional Lib Dir 新建:$(LIBJEPEGTURBO_PATH)\lib 对应静态库位置
    VC++ Directories/Library Directories 新建 $(LIBJPEGTURBO_PATH)\lib

  3. Linker/Input/Addtional Dependencies 新建 turbojpeg.lib

    参考 Azure-Kinect-SDK 对于libjpeg的引入方法,链接的时候引入 lib

target_link_libraries(k4a_playback PUBLIC 
    k4a::k4a
    k4ainternal::logging
    ebml::ebml
    matroska::matroska
    libyuv::libyuv
    libjpeg-turbo::libjpeg-turbo
)

程序 #include "turbojpeg.h"