官方说明

  • https://github.com/frankpapenmeier/libyuv/blob/master/docs/getting_started.md

deptools

  • You’ll need to have depot tools installed: https://www.chromium.org/developers/how-tos/install-depot-tools Refer to chromium instructions for each platform for other prerequisites.

  • 下载,然后放到系统变量

bash 设置代理

export https_proxy=http://127.0.0.1:7890
export http_proxy=http://127.0.0.1:7890
export all_proxy=socks5://127.0.0.1:7891

报错 Your metrics.cfg file was invalid or nonexistent. A new one will be created.

zhangbin@LAPTOP-DFV9CMRA MINGW64 /g/CDN/PUSH/obs-studio-27.2.4/nls/thirdparty (master)
$ gclient config https://chromium.googlesource.com/libyuv/libyuv
Updating depot_tools...
WARNING: Your metrics.cfg file was invalid or nonexistent. A new one will be created.

git 设置代理

git config --global http.proxy "127.0.0.1:7890”

.gclient 文件

zhangbin@LAPTOP-DFV9CMRA MINGW64 /g/CDN/PUSH/obs-studio-27.2.4/nls/thirdparty (master)
$ ls -al
total 9
drwxr-xr-x 1 zhangbin 197121   0 May 18 20:18 ./
drwxr-xr-x 1 zhangbin 197121   0 May 18 18:31 ../
-rw-r--r-- 1 zhangbin 197121 228 May 18 20:20 .gclient
drwxr-xr-x 1 zhangbin 197121   0 May 18 18:16 duilib/
drwxr-xr-x 1 zhangbin 197121   0 May 18 18:17 libyuv.old/
drwxr-xr-x 1 zhangbin 197121   0 May 18 18:10 tmp/zhangbin@LAPTOP-DFV9CMRA MINGW64 /g/CDN/PUSH/obs-studio-27.2.4/nls/thirdparty (master)
$ mkdir libyuvzhangbin@LAPTOP-DFV9CMRA MINGW64 /g/CDN/PUSH/obs-studio-27.2.4/nls/thirdparty (master)
$ mv .gclient libyuvzhangbin@LAPTOP-DFV9CMRA MINGW64 /g/CDN/PUSH/obs-studio-27.2.4/nls/thirdparty (master)
$ cd libyuv
l
zhangbin@LAPTOP-DFV9CMRA MINGW64 /g/CDN/PUSH/obs-studio-27.2.4/nls/thirdparty/libyuv (master)
$ lszhangbin@LAPTOP-DFV9CMRA MINGW64 /g/CDN/PUSH/obs-studio-27.2.4/nls/thirdparty/libyuv (master)
$ cat .gclient
solutions = [{ "name"        : 'libyuv',"url"         : 'https://chromium.googlesource.com/libyuv/libyuv',"deps_file"   : 'DEPS',"managed"     : True,"custom_deps" : {},"custom_vars": {},},
]

gclient sync

zhangbin@LAPTOP-DFV9CMRA MINGW64 /g/CDN/PUSH/obs-studio-27.2.4/nls/thirdparty/libyuv (master)
$ gclient sync
Updating depot_tools...
1>________ running 'git -c core.deltaBaseCacheLimit=2g clone --no-checkout --progress https://chromium.googlesource.com/libyuv/libyuv G:\CDN\PUSH\obs-studio-27.2.4\nls\thirdparty\libyuv\_gclient_libyuv_s875nl1s' in 'G:\CDN\PUSH\obs-studio-27.2.4\nls\thirdparty\libyuv'
1>Cloning into 'G:\CDN\PUSH\obs-studio-27.2.4\nls\thirdparty\libyuv\_gclient_libyuv_s875nl1s'...
1>remote: Total 21260 (delta 16849), reused 21260 (delta 16849)
1>Receiving objects: 100% (21260/21260), 12.57 MiB | 23.37 MiB/s, done.
1>Resolving deltas: 100% (16849/16849), done.
1>________ running 'python3 src/cleanup_links.py' in 'G:\CDN\PUSH\obs-studio-27.2.4\nls\thirdparty\libyuv'
1>D:\SOFT\depot_tools\bootstrap-2@3_8_10_chromium_23_bin\python3\bin\python3.exe: can't open file 'src/cleanup_links.py': [Errno 2] No such file or directory
Syncing projects: 100% (1/1), done.
  • 同时,这是啥报错:

Error: Command 'python3 src/cleanup_links.py' returned non-zero exit status 2 in G:\CDN\PUSH\obs-studio-27.2.4\nls\thirdparty\libyuv
D:\SOFT\depot_tools\bootstrap-2@3_8_10_chromium_23_bin\python3\bin\python3.exe: can't open file 'src/cleanup_links.py': [Errno 2] No such file or directoryTraceback (most recent call last):File "D:\SOFT\depot_tools\metrics.py", line 291, in print_notice_and_exityieldFile "D:/SOFT/depot_tools/gclient.py", line 3251, in <module>sys.exit(main(sys.argv[1:]))File "D:/SOFT/depot_tools/gclient.py", line 3237, in mainreturn dispatcher.execute(OptionParser(), argv)File "D:\SOFT\depot_tools\subcommand.py", line 252, in executereturn command(parser, args[1:])File "D:/SOFT/depot_tools/gclient.py", line 2791, in CMDsyncret = client.RunOnDeps('update', args)File "D:/SOFT/depot_tools/gclient.py", line 1842, in RunOnDepsgn_args_dep.WriteGNArgsFile()File "D:/SOFT/depot_tools/gclient.py", line 1087, in WriteGNArgsFilewith open(os.path.join(path_prefix, self._gn_args_file), 'wb') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'G:\\CDN\\PUSH\\obs-studio-27.2.4\\nls\\thirdparty\\libyuv\\src/build/config/gclient_args.gni'zhangbin@LAPTOP-DFV9CMRA MINGW64 /g/CDN/PUSH/obs-studio-27.2.4/nls/thirdparty/libyuv (master)
$
  • 但是源码确实下载回来了。

官方sync 后也只是一个.gclient文件么?

构建

这错误

python 啥也没生成?

=

  • 搞不懂,还是cmake吧

CMAKE 构建

  • 先不用jpeg: Could NOT find JPEG (missing: JPEG_LIBRARY JPEG_INCLUDE_DIR)
The C compiler identification is MSVC 19.29.30143.0
The CXX compiler identification is MSVC 19.29.30143.0
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Check for working C compiler: d:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.29.30133/bin/HostX64/x86/cl.exe - skipped
Detecting C compile features
Detecting C compile features - done
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Check for working CXX compiler: d:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.29.30133/bin/HostX64/x86/cl.exe - skipped
Detecting CXX compile features
Detecting CXX compile features - done
CMake Deprecation Warning at CMakeLists.txt:6 (CMAKE_MINIMUM_REQUIRED):Compatibility with CMake < 2.8.12 will be removed from a future version ofCMake.Update the VERSION argument <min> value or use a ...<max> suffix to tellCMake that the project does not need compatibility with older versions.Could NOT find JPEG (missing: JPEG_LIBRARY JPEG_INCLUDE_DIR)
CMake Warning (dev) at CMakeLists.txt:45 (if):Policy CMP0064 is not set: Support new TEST if() operator.  Run "cmake--help-policy CMP0064" for policy details.  Use the cmake_policy command toset the policy and suppress this warning.TEST will be interpreted as an operator when the policy is set to NEW.Since the policy is not set the OLD behavior will be used.
This warning is for project developers.  Use -Wno-dev to suppress it.Building ver.: 0.0.
Packaging for: x86-32
Configuring done
  • G:/CDN/PUSH/obs-studio-27.2.4/nls/thirdparty/libyuv/libyuv
  • G:/CDN/PUSH/obs-studio-27.2.4/nls/thirdparty/libyuv/outCmake32

名字叫做yuv.lib

已启动生成...
1>------ 已启动生成: 项目: yuv, 配置: Debug Win32 ------
1>Building Custom Rule G:/CDN/PUSH/obs-studio-27.2.4/nls/thirdparty/libyuv/libyuv/CMakeLists.txt
1>compare.cc
1>compare_common.cc
1>compare_gcc.cc
1>compare_mmi.cc
1>compare_msa.cc
1>compare_neon.cc
1>compare_neon64.cc
1>compare_win.cc
1>convert.cc
1>convert_argb.cc
1>convert_from.cc
1>convert_from_argb.cc
1>convert_jpeg.cc
1>convert_to_argb.cc
1>convert_to_i420.cc
1>cpu_id.cc
1>G:\CDN\PUSH\obs-studio-27.2.4\nls\thirdparty\libyuv\libyuv\source\cpu_id.cc(140,13): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>G:\CDN\PUSH\obs-studio-27.2.4\nls\thirdparty\libyuv\libyuv\source\cpu_id.cc(169,13): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>mjpeg_decoder.cc
1>mjpeg_validate.cc
1>planar_functions.cc
1>rotate.cc
1>正在生成代码...
1>正在编译...
1>rotate_any.cc
1>rotate_argb.cc
1>rotate_common.cc
1>rotate_gcc.cc
1>rotate_lsx.cc
1>rotate_mmi.cc
1>rotate_msa.cc
1>rotate_neon.cc
1>rotate_neon64.cc
1>rotate_win.cc
1>row_any.cc
1>row_common.cc
1>G:\CDN\PUSH\obs-studio-27.2.4\nls\thirdparty\libyuv\libyuv\source\row_common.cc(1713,3): warning C4244: “初始化”: 从“uint16_t”转换到“int8_t”,可能丢失数据
1>G:\CDN\PUSH\obs-studio-27.2.4\nls\thirdparty\libyuv\libyuv\source\row_common.cc(1732,3): warning C4244: “初始化”: 从“int16_t”转换到“int8_t”,可能丢失数据
1>G:\CDN\PUSH\obs-studio-27.2.4\nls\thirdparty\libyuv\libyuv\source\row_common.cc(1787,3): warning C4244: “初始化”: 从“uint16_t”转换到“int8_t”,可能丢失数据
1>G:\CDN\PUSH\obs-studio-27.2.4\nls\thirdparty\libyuv\libyuv\source\row_common.cc(1806,3): warning C4244: “初始化”: 从“uint16_t”转换到“int8_t”,可能丢失数据
1>row_gcc.cc
1>row_lasx.cc
1>row_lsx.cc
1>row_mmi.cc
1>row_msa.cc
1>row_neon.cc
1>row_neon64.cc
1>row_win.cc
1>正在生成代码...
1>正在编译...
1>scale.cc
1>scale_any.cc
1>scale_argb.cc
1>scale_common.cc
1>scale_gcc.cc
1>scale_lsx.cc
1>scale_mmi.cc
1>scale_msa.cc
1>scale_neon.cc
1>scale_neon64.cc
1>scale_rgb.cc
1>scale_uv.cc
1>scale_win.cc
1>video_common.cc
1>正在生成代码...
1>yuv.vcxproj -> G:\CDN\PUSH\obs-studio-27.2.4\nls\thirdparty\libyuv\outCmake32\Debug\yuv.lib
1>已完成生成项目“yuv.vcxproj”的操作。
========== “生成”: 1 成功,0 失败,0 更新,0 已跳过 ==========

默认是MDd,名字是yuv.lib

【libyuv】windows构建相关推荐

  1. 火狐源码windows构建 2020-04-29最新版

    在Windows上构建Firefox 最近一直在研究火狐浏览器内核源码,发现最新windows构建方式跟百度搜索到的老的方式有很大不同,搜索到官方文档. 官方链接 在Windows上构建Firefox ...

  2. libyuv windows x64编译方法

    libyuv是Google开源的实现各种YUV与RGB之间相互转换.旋转.缩放的库.它是跨平台的,,支持SSE.AVX.NEON等SIMD指令加速.VS 2015 WIN64等编译出来的库无法使用SI ...

  3. 【anyRTC-RTMP-OpenSource】2.0 windows构建

    [anyRTC-RTMP-OpenSource]2.0 windows 似乎是不支持的. 官方现在只支持ios android PC 被抛弃了? 还是OBS 太强大了? WEBRTC的fans 们不应 ...

  4. 使用minikube在windows构建kubernetes群集

    关注公众号"风色年代"订阅更多精彩文章,本博大部分文章为转载并已标明原文出处,如有再转敬请保留,请自觉尊重原创作者的劳动成果! 原文:http://www.cnblogs.com/ ...

  5. webrtc】windows 构建 :depot_tools 采坑

    chrome 开源项目的构建工具 depot_tools owt webrtc chrome 都需要这个工具作为构建脚本 之前在公司机器 整的,感觉很容易 可能公司默认是hk vpn环境吧 换了自己购 ...

  6. Windows构建Flutter环境,无法访问maven.google.com

    flutter 环境变量配置好之后,运行flutter doctor出现问题如下: X HTTP host https://maven.google.com/ is not reachable. Re ...

  7. 利用Swarmkit构建Windows/Linux混合Docker集群

    在很多公司都同时存在Windows+Linux两种操作系统,在Linux上跑Docker很方便各种资料文档齐全,但是在Windows上跑Docker相对比较少,同时也受到一些限制,如Windows上d ...

  8. 在ubuntu中构建mingw-w64 for windows

    文章目录 1 在虚拟机中安装linux系统 2 安装构建工具 3 导入系统变量 4 下载源代码 5 构建mingw-w64 for linux 5.1 构建mingw-w64-headers 5.2 ...

  9. MSYS2 Windows软件分发和构建平台

    MSYS2 Software Distribution and Building Platform for Windows MSYS2 Windows软件分发和构建平台 MSYS2 is a coll ...

  10. 高德引擎构建及持续集成技术演进之路

    来自:高德技术 01 背景 由于导航应用中的地图渲染.导航等核心功能对性能要求很高,所以高德地图客户端中大量功能采用 C++ 实现.随着业务的飞速发展,仅地图引擎库就有40多个模块,工程配置极其复杂, ...

最新文章

  1. 物理光学10 相干光与相干性
  2. 【干货】周鸿祎谈雷军:能不能All In是一个核武器
  3. C++ 中的Singleton 类的实现
  4. 数据结构37:线索二叉树的创建
  5. Mac OS 如何批量转换图片格式
  6. 161021_又是两个月还是总结
  7. 深度贝叶斯神经网络(Deep Bayesian Neural Networks)实现方法
  8. jquery的keyup()事件案列——根据输入中文名称自动显示添加对应的拼音简写+时间戳
  9. JavaScript 对象大全
  10. 粉丝福利!Matlab自动配色神器ColorForFans
  11. 如何正确选择电磁流量计
  12. SCHURTER概况以及产品应用(一)+代理商渠道
  13. python模块之Queue
  14. 判断全角空格和半角空格
  15. js 运行中断停止_如何终止 JS 脚本的运行
  16. 计算机转商务英语,玩转商务英语900句:重启电脑与保存
  17. 智力题:5个强盗分100个金币
  18. 18 - JavaScript 包装类
  19. Y460N 装mac 雪豹 装xcode
  20. 第25课:MySQL 数据库管理系统

热门文章

  1. 第五节 comware概述
  2. 【转】推荐系统算法总结(一)
  3. 学习计算机编程(IT、偏网站开发)的参考学习网址syk
  4. STM8S003F3使用总结——定时器
  5. erphpdown9.64插件加Modown1.9模板主题下载
  6. 开源一套DUI控件源码
  7. 数据定义约束-数据库习题
  8. 使用Python自动完成Himawari-8(葵花8)卫星AOD数据下载与解析(转TIFF)
  9. C语言 | 延时函数(Delay)
  10. CnOpenData国际货物贸易数据