跳转到主要内容
Windows 端三种接入方式共用同一个包、同一套运行时依赖:C++ 直接调用原生接口;C 用 SMeeting_C.h 里的 SMeetingEngine_* 函数;C# 走包内的 SMeetingNet 封装,它把 SMeeting.h 的 C++ 接口 (ISMeetingEngine / ISMeetingChannel / 媒体对象)暴露为 SMeetingNet 命名空间下惯用的 class / event / IDisposable,不需要自己写回调 vtable。 按语言选对应标签:

环境要求

SDK 提供 x86(Win32 / 32 位)与 x64(64 位)两个包,必须与你的工程目标平台一致。 用 x86 包链接 64 位工程(或反过来)会在链接期报 「模块计算机类型 x86 与目标计算机类型 x64 冲突」。
  • 目标平台:Windows x86(Win32 / 32 位)或 x64(64 位)—— 按工程的目标平台选对应的包
  • 语言:C++;C 接口改用 SMeeting_C.h 里的 SMeetingEngine_* 函数,头文件 / 导入库 / 部署方式与 C++ 完全相同,见 C 快速开始
  • 运行时:SDK 包内已附带所需的 VC++ 运行库 DLL,无需在目标机器上单独安装运行库分发包

下载 SDK

三种接入方式在同一个包里,下载地址一致: 新版本发布后按同样的命名规则取用,替换版本号即可。x64 包是在版本号前面多一段 -x64:
会议 SDK 包里已经包含底层音视频库(srtc.dll 等),不需要再单独下载 SRTC 的 Windows SDK。

目录结构

解压后得到(两个包的结构完全一样,内部根目录都是 meeting_dll/):
两个包解压后目录名相同,不要解压到同一个目录互相覆盖,也不要跨架构混用 lib / bin / net (x86 的 SMeeting.lib / SMeeting.dll / SMeetingNet.dll 与 x64 的不是同一套二进制)。
包内的文件清单(数量和名称)会随版本调整,不要按文件名逐个挑选。

工程配置

1

添加头文件目录

把 meeting_dll/include 加入工程的附加包含目录,代码中引入:
用 C 接口时再额外引入 SMeeting_C.h。
2

链接导入库

把 meeting_dll/lib 加入附加库目录,并链接 SMeeting.lib。
3

部署运行时依赖

把 meeting_dll/bin 目录下的全部内容拷贝到可执行文件所在目录:
两个容易遗漏的点:
  • DLL 的位数必须与 YourApp.exe 一致:32 位程序配 x86 包的 bin,64 位程序配 x64 包的 bin
  • plugin/ 必须保持为子目录,不能把里面的 DLL 平铺到根目录
1.0.0-alpha.6 起 bin 的文件清单有变化:不再包含 DenModule.dll、pthreadGC2.dll、 pthreadVC2.dll、rtp.dll、zlib.dll,新增 zlib1.dll。这些是底层音视频库的依赖调整。请用新包 bin 整包覆盖你的分发目录,不要按文件名增量拷贝, 以免残留已不再需要的旧 DLL。
bin 目录的内容会随版本调整,所以推荐整体拷贝而不是按文件名逐个挑选 —— 逐个挑选在升级 SDK 时很容易漏掉新增的依赖库。

下一步