opencore-amr编译
安装 msys
根据官网文档安装
-
64位
pacman -S --needed base-devel mingw-w64-x86_64-toolchain
-
32位
pacman -S --needed base-devel mingw-w64-i686-toolchain
需要编译32位或者64位库就将哪个mingw的目录添到
环境变量中
export PATH=$PATH:(mingw32(64)的bin,目录)
gcc -v
有打印版本信息即可
下载 opencore-amr
选择下载 opencore-amr vo-amrwbenc
编译通过的是 (opencore-amr-0.1.5.tar.gz,vo-amrwbenc-0.1.3.tar.gz)
在msys中切到库的目录
opencore-amr 编译
./configure --help 查看选项
./configure
make -j4
编译完成后会生成的目录在
amrnb/.lib
amrwb/.lib 需要搭配 vo-amrwbenc的库使用
vo-amrwbenc 编译
./configure
make -j4
编译完成后会生成的目录在
vo-amrwbenc\.libs
pjsip库使用opencore-amr
本文是在编译pjproject(pjsip库)时需要使用到 open-amr(8k,16k)的编码,将
libopencore-amrnb.a (amr 8k)
libopencore-amrwb.a (amr 16k)
libvo-amrwbenc.a (amr 16k需要用到)
放到 libpjproject-*.lib
目录下即可
会出现以下编译错误
libvo-amrwbenc.a(voAMRWBEnc.o) : error LNK2019: 无法解析的外部符号 ___chkstk_ms,函数 _coder 中引用了该符号
libvo-amrwbenc.a(wb_vad.o) : error LNK2019: 无法解析的外部符号 ___mingw_vfprintf,函数 _fprintf 中引用了该符号
libvo-amrwbenc.a(dtx.o) : error LNK2001: 无法解析的外部符号 ___mingw_vfprintf
libvo-amrwbenc.a(q_pulse.o) : error LNK2001: 无法解析的外部符号 ___mingw_vfprintf
将用到mingw编译器对应的目录下面有这两个.a文件,引用到工程里面即可
libgcc.a
libmingwex.a