vs2013编译ffmpeg之十一 libcelt

vs2013编译libcelt

对应ffmpeg configure选项–enable-libcelt。
超低延迟的音频编码器,主要用在实时高质量的语音传输应用上。2011年以后项目就没有更新了。
官网上下载最新的代码,源代码libcelt下面有libcelt.vcxproj,但没有sln文件。先建个win32空的工程,然后将libcelt.vcxproj加进来,按下图所示更新一下工程,点“Upgrade…”:
这里写图片描述
然后就可以正常编译通过了。
最后发现ffmpeg configure会失败,libcelt和opus冲突,opus包含了celt的代码,二者有很多符号是相同的。这样肯定会冲突,所以还是只能保留opus,将libcelt里面的函数改名,毕竟opus是celt的延续和扩展。

msys编译libcelt

也是从官网上下载最新的代码,代码里面只有autogen.sh,在Msys(msys.bat里面有call “C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat”)下执行报下面的错误:

aclocal-1.8
aclocal: macro `_LT_DECL_SED' required but not defined
aclocal: macro `_LT_FUNC_STRIPNAME_CNF' required but not defined

没有找到原因,解决的办法是直接去掉\MinGW\share\aclocal\libtool.m4里面的下面两个语句:

AC_REQUIRE([_LT_DECL_SED])
AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl

编译完了记得改回去。autogen.sh正常产生configure文件后,再执行:

mkdir msys_build; ./configure --prefix=$(pwd)/msys_build

有错误:

./configure: line 12010: syntax error near unexpected token `tools="tools",'
./configure: line 12010: `  XIPH_PATH_OGG(tools="tools", tools="")'

解决的办法是直接注释掉configure里面的下面这行:

XIPH_PATH_OGG(tools="tools", tools="")

configure成功后可以make了。由于当时没有msys编译的ogg,所以celt就没有ogg支持,但这样test目录下的程序都能编译出来,没有测试过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值