Skip to content
Falei LUO edited this page Nov 13, 2018 · 4 revisions

Windows

编译环境

Windows平台下推荐使用Visual Studio 2013或更高版本进行编译

VS编译问题

  • 无法执行*.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或重新打开解决方案 

项目编译

  1. 使用Visual Studio 2013(或更高版本)打开davs2/build/vs2013/davs2.sln
  2. 设置davs2为启动项
  3. 编译项目
  4. 配置参数进行测试

Linux

编译环境

dAVS2编译需要一定的Linux依赖库(如yasm)支持,可根据编译过程中提示进行安装。

项目编译

  1. 进入davs2/build/linux目录
  2. 执行confiugre脚本并添加所需参数
  3. 执行make命令进行编译
  4. 执行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
Clone this wiki locally