当前位置: 首页 > article >正文

windows 编译libyuv

一、libyuv下载

git clone https://chromium.googlesource.com/external/libyuv

二、libjpeg-turbo下

git clone https://github.com/libjpeg-turbo/libjpeg-turbo.git

三、编译可以参考 BUILDING.md

需要环境: VS2019

CMake

YASM

启动vs工具 编译:

cd libjpeg-turbo
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release
nmake

编译生成

jpeg-static.lib Static link library for the libjpeg API

jpeg{version}.dll DLL for the libjpeg API

jpeg.lib Import library for the libjpeg API

turbojpeg-static.lib Static link library for the TurboJPEG API

turbojpeg.dll DLL for the TurboJPEG API

turbojpeg.lib Import library for the TurboJPEG API

四、打开libyuv CMakeLists.txt

1、默认libyuv是没有配置JPEG的

2、libyuv目录下创建libjpeg,拷贝库和头文件

-libjpeg

    -jpeglib.h

    -jconfig.h

    -jmorecfg.h

    -lib

        -jpeg.lib

        -jpeg62.dll

3、修改CMakeLists.txt

A、SET ( ly_lib_shared ${ly_lib_name}_shared )后面添加

SET ( JPEG_INCLUDE_DIR ${ly_base_dir}/libjpeg)
SET ( JPEG_LIBRARY jpeg)

B、ADD_LIBRARY ( ${ly_lib_static} STATIC ${ly_source_files} ) 后面添加

TARGET_LINK_LIBRARIES   (${ly_lib_static} ${JPEG_LIBRARY})

C、ADD_LIBRARY ( ${ly_lib_shared} SHARED ${ly_source_files} )后面添加

TARGET_LINK_LIBRARIES   (${ly_lib_shared} ${JPEG_LIBRARY})

D、去掉

target_compile_options(${ly_lib_static} PRIVATE
  -Wno-sign-compare
  -Wno-unused-function
  -Wunused-variable
  -Wuninitialized)

如图:

4、编译libyuv

md out
cd out
cmake ..
手动打开 YUV.sln 
编译生成 yuv.lib

注:编译出来的是yuv.lib,建议直接修改为libyuv.lib和工程名称一致

六、打包库

-libyuv

    -include // 这里是libyuv的include文件夹

    -lib  // libyuv.lib jpeg.lib

    -dll //  jpeg62.dll 


http://www.kler.cn/a/37403.html

相关文章:

  • 奥特曼与钢铁侠【InsCode Stable Diffusion美图活动一期】
  • 【数据结构常见七大排序(二)】—选择排序篇【直接选择排序】And【堆排序】
  • 事务@transactional执行产生重复数据
  • Windows 安装 RabbitMq 和 Erlang
  • 精确长延时电路/数字式长延时电路设计
  • HTML <main> 标签
  • ARM day10 (IIC协议接收温湿传感器数据)
  • 运维开发面试题第一期
  • 线上后端接口响应过慢排查记录_MySQLthread cache命中率过低导致的接口响应慢
  • DALL·E2(unCLIP)、Stable Diffusion、IS、FID要点总结
  • GC书籍笔记
  • 探索华为、思科和瞻博网络的基本ACL和高级ACL配置方法
  • js+html 象棋游戏 可以简单人机对战
  • 目标检测——目标检测概述
  • 【Docker】快速入门,带你快速了解 Docker
  • rust abc(5): 常量
  • 第八章 npm锁定版本
  • 【MySQL】SQL入门(一)
  • JavaWeb——Cookie和Session的工作流程
  • 一套电子病历系统源码(EMR)