在windows下编译,需要安装 meson 和 ninja。 安装好之后要配置环境变量在PATH中, 确保敲命令 meson 或 ninja 时能找到此应用程序即可。meson是一个类似cmake的工具,其用python3实现,Python版本必须3.6以上。
1,安装meson
pip install meson
命令行输入:
meson --version
0.60.0
2,安装ninja
先下载ninja:Releases · ninja-build/ninja · GitHub
加压后,把ninja.exe所在目录加入环境变量
命令行输入:
>ninja --version
1.8.2
3,下载Libnice 源码
地址 https://github.com/libnice/libnice
4,编译
C:\windows> cd D:\\ibnice-master 进入到源代码根目录
D:\libnice-master> meson build 在根目录执行此命令会在更目录创建build编译目录,cmake是要进入build目录,在build目录执行 cmake ../ 然后会生成Makefile文件。
D:\libnice-master> ninja -C build 用ninja进行编译, build是目录名称
执行 meson build 会出错, 原因是openssl或者gnuTLS库找不到,不要紧, 关键是要修改 根目录下面的meson.build文件,修改openssl的路径,根据自己的实际目录修改,位置:
libcrypto_dep = cc.find_library('crypto', required: false, dirs: 'I:\webrtc\openssl-1.1.1k')
openssl的编译这里就不介绍了, 大家自行百度。附上修改好的meson.build
project('libnice', 'c',
version: '0.1.18',
meson_version : '>= 0.52',
default_options : ['warning_level=1', 'buildtype=debugoptimized'])
nice_version = meson.project_version()
version_arr = nice_version.split('.')
version_major = version_arr[0]
version_minor = version_arr[1]
version_micro = version_arr[2]
if version_arr.length() == 4
version_nano = version_arr[3]
else
version_nano = 0
endif
# maintain compatibility with the previous libtool versioning
# libversion has 3 parts A.B.C
# A is the ABI version, change it if the ABI is broken, changing it resets B and C to 0. It matches soversion
# B is the ABI age, change it on new APIs that don't break existing ones, changing it resets C to 0
# C is the revision, change on new updates that