本文介绍如何快速地将腾讯云 TRTC SDK(Windows C# 和 C++ 版本)集成到项目中。
本节以创建一个简单的 Winform 项目为例,介绍如何在 Visual Studio 工程中集成 C# SDK。
下载 SDK,解压并打开文件,包含以下部分:
目录名 | 说明 |
---|---|
xxxDemo | C++ Demo 源码和 C# Demo 源码 |
CPlusPlus | C++版32位/64位依赖的 SDK 库文件 |
CSharp | C#版32位/64位依赖的 SDK 库文件 |
本文示例中,您只需要引用 SDK 目录下 C# 版的 SDK 文件即可。
打开 Visual Studio,新建名为TRTCCSharpDemo
的 Winform 应用程序。
将解压后的 SDK 文件夹拷贝至 TRTCCSharpDemo.csproj
所在目录。
说明:
当只需要 C# SDK时,可以将 SDK 路径下的 CPlusPlus 目录删除。
输入或选择新平台,单击【确定】。
打开 TRTCCSharpDemo 项目所在的文件夹,并用文本编辑器编辑TRTCCSharpDemo.csproj
文件。
在 TRTCCSharpDemo.csproj
文件中的标签 <itemGroup>
下添加以下内容:
//添加对不同平台下的引用
<Reference Include="ManageLiteAV" Condition="'$(Platform)' == 'x64'">
<HintPath>SDK\CSharp\Win64\lib\ManageLiteAV.dll</HintPath>
</Reference>
<Reference Include="ManageLiteAV" Condition="'$(Platform)' == 'AnyCPU'">
<HintPath>SDK\CSharp\Win64\lib\ManageLiteAV.dll</HintPath>
</Reference>
<Reference Include="ManageLiteAV" Condition="'$(Platform)' == 'x86'">
<HintPath>SDK\CSharp\Win32\lib\ManageLiteAV.dll</HintPath>
</Reference>
set Platform=Win64
SETLOCAL ENABLEDELAYEDEXPANSION
if $(PlatformName)==x86 (
set Platform=Win32
)
copy /Y "$(ProjectDir)SDK\CSharp\!Platform!\lib\*.dll" "$(ProjectDir)$(OutDir)"
ENDLOCAL
打开 TRTCDemo 属性页,选择【生成】,将【平台(M)】与顶部菜单栏中的解决方案平台设置为一致,如下图所示:
在 Form1.cs 的设计器中添加一个 label 控件,如下图所示:
打开 Form1.cs 代码文件,添加以下代码:
using System.Windows.Forms;
using ManageLiteAV; // 1.添加命名空间引用
namespace TRTCCSharpDemo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// 2.获取 ITRTCCloud 实例,打印 SDK 版本号
ITRTCCloud lTRTCCloud = ITRTCCloud.getTRTCShareInstance();
this.label1.Text = "SDK version : " + lTRTCCloud.getSDKVersion();
// 3.结束使用时需手动摧毁 ITRTCCloud 实例
ITRTCCloud.destroyTRTCShareInstance();
}
}
}
按 F5 运行,打印 SDK 的版本号,如下图所示:
本节通过创建一个简单的 MFC 项目,介绍如何在 Visual Studio 工程中集成 C++ SDK。
下载 SDK,解压并打开,包含以下几个部分:
目录名 | 说明 |
---|---|
include | 带有详细接口注释的 API 头文件 |
lib | 编译用的 .lib 文件和运行时加载的 .dll 文件 |
打开 Visual Studio,新建一个名字叫 TRTCDemo 的 MFC 应用程序,如下图所示:
为了便于介绍如何快速集成,在向导的应用程序类型页面,我们选择比较简单的基于对话框类型,如下图所示:
其他的向导配置,请选择默认的配置即可。
将解压后的 LiteAVSDK 文件夹拷贝到 TRTCDemo.vcxproj 所在目录下,如下图所示:
打开 TRTCDemo 属性页,在【解决方案资源管理器】 >【TRTCDemo 工程的右键菜单】>【属性】,请按照以下步骤进行配置:
添加包含目录:
在【C/C++】>【常规】>【附件包含目录】,添加 SDK 头文件目录 $(ProjectDir)LiteAVSDK\include
和 $(ProjectDir)LiteAVSDK\include\TRTC
,如下图所示:
添加库目录:
在【链接器】>【常规】>【附加库目录】,添加 SDK 库目录 $(ProjectDir)LiteAVSDK\lib
,如下图所示:
添加库文件:
在【链接器】>【输入】>【附加依赖项】,添加 SDK 库文件 liteav.lib
,如下图所示:
添加 copy 命令:
在【生成事件】>【后期生成事件】>【命令行】,添加拷贝命令 copy /Y "$(ProjectDir)LiteAVSDK\lib\\\*.dll" "\$(OutDir)"
,能够在编译完成后,自动将 SDK 的 .dll 文件拷贝到程序的运行目录下,如下图所示:
CTRTCDemoDlg::OnInitDialog
函数中,添加下面的测试代码:CWnd *pStatic = GetDlgItem(IDC_STATIC);
pStatic->SetWindowTextW(szText);
:::
若出现以下错误,请按照 修改工程配置,检查 SDK 引用是否添加到工程中。
错误 CS0246 未能找到类型或命名空间名“ManageLiteAV”(是否缺少 using 指令或程序集引用?)
若出现以下错误,请按照 修改工程配置,检查是否修改工程运行平台环境为解决方案当前目标平台 。
System.BadImageFormatException:“未能加载文件或程序集“ManageLiteAV, Version=2.0.7152.18518, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。试图加载格式不正确的程序。”
若出现以下错误,请按照 修改工程配置,检查是否正确添加生成事件到运行目录中。
System.IO.FileNotFoundException:“未能加载文件或程序集“ManageLiteAV.dll”或它的某一个依赖项。找不到指定的模块。”
由于 Windows 不同版本可能存在兼容性问题,目前在 C# SDK 中新增了解决兼容性问题的 dll 文件,文件清单如下图所示。
若出现以下错误,请按照前面的工程配置,检查 SDK 头文件的目录是否正确添加。
fatal error C1083: 无法打开包括文件: “TRTCCloud.h”: No such file or directory
若出现以下错误,请按照前面的工程配置,检查 SDK 库目录和库文件是否正确添加。
error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: static class TXString __cdecl TRTCCloud::getSDKVersion(void)" (__imp_?getSDKVersion@TRTCCloud@@SA?AVTXString@@XZ),该符号在函数 "protected: virtual int __thiscall CTRTCDemoDlg::OnInitDialog(void)" (?OnInitDialog@CTRTCDemoDlg@@MAEHXZ) 中被引用
本页内容是否解决了您的问题?