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
posted @ 2022-06-28 21:56  blackTree  阅读(1071)  评论(0编辑  收藏  举报