01 环境
win10 企业版本(10.0.14393)
vs2015、git、python2.7.6、vpn(下载源码需要翻墙)。
02 下载源码
注意:开启vpn。
D:\git>git clone https://chromium.googlesource.com/libyuv/libyuv
Cloning into 'libyuv'...
remote: Total 16062 (delta 13072), reused 16062 (delta 13072)
Receiving objects: 100% (16062/16062), 4.35 MiB | 3.00 KiB/s, done.
Resolving deltas: 100% (13072/13072), done.
Checking connectivity... done.
D:\git>cd libyuv
D:\git\libyuv>git branch -vv
* master 288bfbe [origin/master] Add MSA optimized remaining scale row functions
D:\git\libyuv>git tag
经过git tag 和 git branch -vv git branch -a 查看,代码没有分支、tag之类的,认为下载下来的当前master是稳定版本。
03 使用CMake生成vs工程文件
03.01 配置CMake参数
打开CMake GUI工具。
指定源码位置:D:/git/libyuv
cmake文件生成位置:D:/git/libyuv/build/x86
点击Configure按钮。
选择:Visual Studio 14 2015
选择:Use default native compilers
03.02 解决CMake配置错误
直接使用CMake3.4.0编译出错,如下:
CMake Warning (dev) at CMakeLists.txt:103 (if): Policy CMP0064 is
not set: Support new TEST if() operator. Run “cmake –help-policy
CMP0064” for policy details. Use the cmake_policy command to set
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.
修改CMakeLists.txt文件。把最小版本要求由2.8修改为3.4.
cmake_minimum_required(VERSION 2.8)==>cmake_minimum_required(VERSION 3.2)
03.03 再次使用CMake生成工程文件。
修改CMakeLists.txt文件最小要求版本后,再次点击CMake Gui的Configure 和 Generate 按钮。正确生成vs工程文件。
03.04 修改vs2015工程配置,支持xp系统。
默认生成的配置文件,使用的平台工具集是v140,如果需要支持xp系统。需要把平台工具集修改为v140_xp,最好把目标平台版本 也清空。
注意:这里需要针对每个工程项目的每个配置、平台做修改。
[配置][平台]配置属性==>常规==>平台工具集==>v140_xp
[配置][平台]配置属性==>常规==>目标平台版本==>清空内容
03.05 生成文件
编译后的文件目录
D:\git\libyuv\build\x86\Debug
convert.exe
yuv.lib
D:\git\libyuv\build\x86\Release
convert.exe
yuv.lib