在mingw64里面编译libdatachannel的步骤记录

项目里面需要用到libdatachannel,我的开发环境是msys2,官方库里面没有预编译好的libdatachannel库可以直接用,以下是手动编译过程的记录。

一、编译环境准备

   打开msys2 mingw64 shell,执行下面的命令更新仓库及安装编译器及依赖库

pacman -Syu    #更新仓库信息

pacman -S mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake mingw-w64-x86_64-ninja git make

pacman -S mingw-w64-x86_64-gnutls

pacman -S mingw-w64-x86_64-nettle mingw-w64-x86_64-openssl

二、源码准备

   还是在msys2 mingw64 shell里面执行下面的命令克隆源码仓库及依赖项

cd d:\\cpp
git clone https://github.com/paullouisageneau/libdatachannel.git
cd libdatachannel
git submodule update --init --recursive

三、开始编译

  还是在msys2 mingw64 shell里面执行命令

cd d:\\cpp\\libdatachannel
mkdir build
cd build
 cmake .. -G "Ninja"   -DCMAKE_BUILD_TYPE=Release \
  -DCMAKE_INSTALL_PREFIX=/mingw64  \
  -DUSE_GNUTLS=1 \
  -DUSE_NICE=0 \
  -DUSE_SYSTEM_SRTP=OFF \
  -DUSE_SYSTEM_USRSCTP=OFF \
  -DBUILD_SHARED_LIBS=ON

ninja

ninja install

编译成功后

 搞定收工。

四、可能遇到的问题

问题一:源码克隆失败,我这里无论用哪种方式,从github克隆源码都会失败,最后用国外的服务器去克隆的源码压缩以后拿到本地使用才成功的。

问题二:提示缺少srtp库,请检查克隆步骤是否执行了git submodule update --init --recursive以及编译的时候是否配置了-DUSE_SYSTEM_SRTP=OFF。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

peihexian

你的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值