QTCreator 集成IMSDK

2021-12-10 10:45:01 浏览数 (1)

本文章已经先存于【腾讯文档】QTCreator 集成IMSDK https://docs.qq.com/doc/DVm1EZFRpb09aZ3F6

  1. 在QTCreator创建一个窗口项目
  1. 项目名称随意,默认编译工具我这里选择了QMake,如果您由其他需求可以选择其他的。
  1. 在工具包选择中(Kit Selection)选择msvc
  1. 下一步,完成。
  2. 在生成的QT项目下面,创建include/IM、lib/Win32和lib/x64目录。目录结构如下:
  1. 下载SDK,将SDK的32库文件(DLL和Lib)放置到项目下lib/Win32,64位库文件放置到lib/x64,同时将头文件导入到include/IM下面
  2. 编辑项目配置文件.pro,加入如下代码
代码语言:javascript复制
INCLUDEPATH  = $$PWD/. 
               $$PWD/include/

debug {
    contains(QT_ARCH,i386) {
#       LIBS  = -L$$PWD/lib/Win32/ -lliteav
        LIBS  = -L$$PWD/lib/Win32/ -limsdk
    } else {
#       LIBS  = -L$$PWD/lib/x64/lib -lliteav
        LIBS  = -L$$PWD/lib/x64/ -limsdk
    }
}

release {
    contains(QT_ARCH,i386) {
#       LIBS  = -L$$PWD/lib/Win32/ -lliteav
        LIBS  = -L$$PWD/lib/Win32/ -limsdk
    } else {
#       LIBS  = -L$$PWD/lib/x64/lib -lliteav
        LIBS  = -L$$PWD/lib/x64/ -limsdk
    }
}
  1. 此时配置已经完成,您可以进行开发了。
  2. 验证:
    1. 在mainwindow.cpp中修改如下:
代码语言:javascript复制
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <IM/TIMCloud.h>
#include <QLabel>
MainWindow::MainWindow(QWidget *parent)    : QMainWindow(parent)    , ui(new Ui::MainWindow){    ui->setupUi(this);}
MainWindow::~MainWindow(){    delete ui;}
void MainWindow::initUi(){
    QLabel* lab = new QLabel(this);
    lab->setText(TIMGetSDKVersion());
    this->setFixedSize(size());
}
  1. 错误排除
    1. 您可能会遇到编译不通过的情况:提示int 未定义。

解决方案:将IM的头文件转换成UTF-8BOM编码保存(或许您的编译器是其他字符集,请以实际为准),我这里使用的Notepad 转码保存。

  1. 或许您会遇到编译通过,但是运行调用IM的一些接口就会崩溃。

解决方案:可以参考上面第3点,在工具包选择中(Kit Selection)选择msvc。注意,我这里之前已经下载过Visual Studio 2019,通过Visual Studio 2019安装过,所以能直接选择,您可以在Windows官网上搜索下载MSVC开发工具集。

  1. 遇到了问题?您可以在此获得全部工程:

链接:https://pan.baidu.com/s/1X9tUE-HchbkKSmT0wozmNg

提取码:lebx

0 人点赞