mediasoup 3.9.10 worker 的编译及生成 xcodeproj 和 sln
source link: http://blog.tubumu.com/2022/04/22/mediasoup-build/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
mediasoup 3.9.10 worker 的编译及生成 xcodeproj 和 sln
发表于
2022-04-22 更新于 2022-04-28 分类于 Mediasoup
一、准备工作
1、安装 node
brew install node
可以不预先安装
meson
和ninjia
,make
时会自动使用pip
安装。故需确保安装了python3
。
2、获取源码并安装 node 包
# 当前目录:/Users/alby/Workspace/OpenSource/Multimedia/versatica
git clone https://github.com/versatica/mediasoup
cd mediasoup
npm i
二、默认编译
默认编译将产出 mediasoup-worker
可执行程序。
# 当前目录:/Users/alby/Workspace/OpenSource/Multimedia/versatica/mediasoup
node npm-scripts.js worker:build
当然,也可以直接执行 make
:
# 当前目录:/Users/alby/Workspace/OpenSource/Multimedia/versatica/mediasoup
make -C worker
三、生成 xcodeproj
# 当前目录:/Users/alby/Workspace/OpenSource/Multimedia/versatica/mediasoup
make -C worker xcode # cd worker && meson setup --buildtype debug --backend xcode ./out/xcode
四、生成 sln (尚未测试)
# 当前目录:/Users/alby/Workspace/OpenSource/Multimedia/versatica/mediasoup
cd worker
meson setup --buildtype debug --backend vs ./out/vs
五、编译 libmediasoup-worker 静态库
# 当前目录:/Users/alby/Workspace/OpenSource/Multimedia/versatica/mediasoup
export MEDIASOUP_BUILDTYPE=Release # 可选,默认 Release
export MEDIASOUP_OUT_DIR=$(pwd)/out # 可选,默认 out 子目录
make -C worker libmediasoup-worker
六、编译 libmediasoup-worker 动态库
首先打开 meson.build
文件,搜索 libmediasoup_worker = library
,将 library
改为 shared_library
。
# 当前目录:/Users/alby/Workspace/OpenSource/Multimedia/versatica/mediasoup
export MEDIASOUP_BUILDTYPE=Release # 可选,默认 Release
export MEDIASOUP_OUT_DIR=$(pwd)/out # 可选,默认 out 子目录
make -C worker libmediasoup-worker
生成 P/Invoke
代码(尚未测试):
dotnet tool install --global ClangSharpPInvokeGenerator --version 14.0.0-beta2
DYLD_LIBRARY_PATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib ClangSharpPInvokeGenerator -n Tubumu.Mediasoup -m MediasoupNative -o MediasoupNative.cs -l ./worker/out/Release/libmediasoup-worker.dylib -f ./worker/include/lib.hpp
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK