本文主要介绍如何快速将腾讯云即时通信 IM SDK 集成到您的 Windows 项目中。
下面通过创建一个简单的 MFC 项目,介绍如何在 Visual Studio 2019 工程中集成 SDK。
在 Github 下载 Windows IM SDK,Windows IM SDK 的下载方式如下:
下载并解压 IM SDK,为方便可将解压后的文件夹重命名为 ImSDK,其中包含以下几个部分:
目录名 | 说明 |
---|---|
include | 接口头文件 |
lib\Win32 | 32 位 Release 模式,采用 /MT 选项链接库文件 |
lib\Win64 | 64 位 Release 模式,采用 /MT 选项链接库文件 |
打开 Visual Studio,新建一个名为 IMDemo 的 MFC 应用程序(若 MFC 应用不在备选项前列,可借助上方的搜索模板进行查找)。
为了便于快速集成,在向导的 应用程序类型 页面,请选择比较简单的 基于对话框 类型,其他的向导配置,请选择默认的配置即可。
将解压后的 IM SDK 文件夹(即 步骤1 中获取的 ImSDK 文件夹)拷贝到 IMDemo.vcxproj 所在目录下。
IM SDK 中提供了 Release 模式下 32 位和 64 位的静态库,针对这两类有些地方要专门配置。打开 IMDemo 属性页,在 解决方案资源管理器 > IMDemo 工程的右键菜单 > 属性。
以 32 位 Release 模式 为例,请按照以下步骤进行配置:
添加包含目录
在 C/C++ > 常规 > 附加包含目录,添加 IM SDK 头文件目录 $(ProjectDir)ImSDK\include。
添加库目录
在 链接器 > 常规 > 附加库目录,添加 IM SDK 库目录 $(ProjectDir)ImSDK\lib\Win32。
添加库文件
在 链接器 > 输入 > 附加依赖项,添加 IM SDK 库文件 ImSDK.lib 。
拷贝 DLL 到执行目录
在 生成事件 > 生成前事件 > 命令行,输入 xcopy /E /Y "$(ProjectDir)ImSDK\lib\Win32" "$(OutDir)"
,拷贝 ImSDK.dll 动态库文件到程序生成目录。
指定源文件的编码格式
由于 IM SDK 的头文件采用 UTF-8 编码格式,部分编译器按默认系统编码格式编译源文件,可能导致编译无法通过,设置此参数可指定编译器按照 UTF-8 的编码格式编译源文件。
在 C/C++ > 命令行 > 其他选项,输入 /source-charset:.65001
。
64 位 Release 与 32 位 Release 的设置大部分都相同,不同在于 IM SDK 的库目录。具体如下:
xcopy /E /Y "$(ProjectDir)ImSDK\lib\Win64" "$(OutDir)"
,拷贝 ImSDK.dll 动态库文件到程序生成目录。#include "TIMCloud.h"
#include <string>
SetWindowText(L"IMDemo");
std::string version = TIMGetSDKVersion();
CString szText;
szText.Format(L"SDK version: %hs", version.c_str());
CWnd* pStatic = GetDlgItem(IDC_STATIC);
pStatic->SetWindowTextW(szText);
fatal error C1083: 无法打开包括文件: “TIMCloud.h”: No such file or directory
LINK : fatal error LNK1104: 无法打开文件“ImSDK.lib”
error LNK2019: 无法解析的外部符号 __imp__TIMGetSDKVersion,该符号在函数 "protected: virtual int __thiscall CIMDemoDlg::OnInitDialog(void)" (?OnInitDialog@CIMDemoDlg@@MAEHXZ) 中被引用
本页内容是否解决了您的问题?