当前位置: 首页 > article >正文

在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。


http://www.kler.cn/a/567775.html

相关文章:

  • idea中或pycharm中编写Markdown文件
  • ES 客户端 API 二次封装思想
  • 双机热备旁挂组网实验
  • 现今大语言模型性能(准确率)比较
  • Kafka生产者相关
  • C# WinForm程序中如何调试dll接口
  • AI智能质检系统 工业AI视觉检测 找上海尤劲恩
  • 局域网自动识别机器名和MAC并生成文件的命令
  • RabbitMQ系列(二)基本概念之Publisher
  • Git GitHub基础
  • Cocos Creator Shader入门实战(二):GLSL语法和OpenGL流程
  • 计算机毕业设计SpringBoot+Vue.js英语知识应用网站(源码+文档+PPT+讲解)
  • React状态管理进阶(四):从Redux到原子革命的终极指南
  • ElasticSearch 是如何实现分布式的?
  • JavaScript基础 -- 函数
  • Hue Load Balance配置
  • C++Primer学习(4.8位运算符)
  • FFT算法详解与STM32实战应用:从原理到代码实现
  • Electron一小时快速上手
  • 算法-数据结构(图)-弗洛伊德算法复现(Floyd)