-
Notifications
You must be signed in to change notification settings - Fork 53
Falei LUO edited this page Nov 13, 2018
·
4 revisions
Windows平台下推荐使用Visual Studio 2013或更高版本进行编译
- 无法执行
*.sh
文件
dAVS2项目执行依赖命令行工具(如bash
等),项目编译前须在系统PATH
中配置至少一种可使用的命令行工具。如:在PATH
中添加C:\Program Files\Git\bin
路径。
- 汇编失败
dAVS2需要yasm
汇编支持,在VS可通过安装vsyasm
进行修复,推荐安装版本为v1.2.0
。
vsyasm
官方下载地址为:vsyasm-download-page。
vsyasm-1.3.0
版本相比1.2.0
版本编译速度有明显提升,但存在编译错误(平台参数无法识别)。
需要对官方源码进行平台参数的修改和编译,例如此修改版yasm-1.3.0。
vsyasm
安装方式:
(1) 复制 vsyasm.exe 到以下目录:
"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\"
(2) 复制余下三个文件至 MSBuild template 目录:
"C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\"
(3) 重启VS或重新打开解决方案
- 使用
Visual Studio 2013
(或更高版本)打开davs2/build/vs2013/davs2.sln
- 设置
davs2
为启动项 - 编译项目
- 配置参数进行测试
dAVS2
编译需要一定的Linux
依赖库(如yasm
)支持,可根据编译过程中提示进行安装。
- 进入
davs2/build/linux
目录 - 执行
confiugre
脚本并添加所需参数 - 执行
make
命令进行编译 - 执行
make install
命令进行安装(可选)
使用方法: ./configure [options]
帮助:
-h, --help 打印本条信息(帮助信息)
基础参数:
--prefix=PREFIX 设置项目生成路径为 PREFIX, 默认[/usr/local]
--exec-prefix=EPREFIX 设置项目生成路径为 EPREFIX, 默认[PREFIX]
--bindir=DIR 设置二进制生成路径为 DIR, 默认[EPREFIX/bin]
--libdir=DIR 设置依赖库生成路径为 DIR, 默认[EPREFIX/lib]
--includedir=DIR 设置头文件输出路径为 DIR, 默认 [PREFIX/include]
--extra-asflags=EASFLAGS 将EASFLAGS 加入 ASFLAGS
--extra-cflags=ECFLAGS 将 ECFLAGS 加入 CFLAGS
--extra-ldflags=ELDFLAGS 将 ELDFLAGS 加入 LDFLAGS
--extra-rcflags=ERCFLAGS 将 ERCFLAGS 加入 RCFLAGS
配置参数:
--disable-cli 关闭 cli
--system-libdavs2 使用外部 libdavs2 系统
--enable-shared 编译共享库
--enable-static 编译静态库
--disable-opencl 关闭 OpenCL
--disable-gpl 关闭 GPL
--disable-thread 关闭多线程
--disable-win32thread 关闭 win32threads (仅限 Windows)
--disable-interlaced 关闭 interlaced 支持
--bit-depth=BIT_DEPTH 设置支持位深度 (8-10), 默认[8]
--chroma-format=FORMAT 输出采样格式 (420, 422, 444, all), 默认[all]
高级设置:
--disable-asm 关闭汇编
--enable-lto 开启 link-time 优化
--enable-debug 添加 -g
--enable-gprof 添加 -pg
--enable-strip 添加 -s
--enable-pic 构建独立编码
交叉编译:
--host=HOST 设置编译 HOST
--cross-prefix=PREFIX 设置编译工具链路径为 PREFIX
--sysroot=SYSROOT 设置交叉编译逻辑根目录为 SYSROOT