1. SDK のインポート

ここでは、主にTencent Cloud TRTC SDK(QTのWindowsバージョンおよびMacバージョン) をプロジェクトに素早く統合する方法を紹介します。以下の手順に従って設定すれば、SDKの統合作業を素早く完了できます。




Windows端末の統合

開発環境要件

OS:Windows 7以上のバージョン。
開発環境:Visual Studio 2015以上のバージョン、Visual Studio 2015の使用をお勧めします。VS関連のQT開発環境をすでに設定していることが前提になります。
説明:
VS関連のQT開発環境の設定手順に詳しくない場合は、READMEの操作手順のステップ4の関連内容をご参照ください。

操作手順

このセグメントでは、簡単なQTプロジェクトを作成し、Visual Studioプログラムの中でC++ SDKを統合する方法を紹介します。

ステップ1: SDKのダウンロード

SDKのダウンロードを行い、解凍して開きます。 ここの例では、 SDKディレクトリのC++バージョンのSDKファイルをインポートしさえすればOKです。64ビットの場合、SDKは./SDK/CPlusPlus/Win64/にあり、主に次のいくつかの部分が含まれます。
ディレクトリ名
説明
include
詳細なインターフェースの説明がついたAPIヘッダーファイル
lib
編集用の.libファイルおよび実行時にローディングする.dllファイル

ステップ2:プロジェクトの新規作成

Visual Studio 2015を例にとると、ローカルですでにQTおよびVS開発プラグインをインストール済みという前提で、Visual Studioを開きます。下図のように、TRTCDemoという名前のQTアプリケーションを新規作成します。

クイックインテグレーションの方法を説明しやすくするため、ガイドの中でQt Widgets Applicationタイプを選択し、OKをクリックします。次のページでNextをクリックし、プロジェクトを作成すれば完了です。

ステップ3:ファイルのコピー

下図のように、解凍後のSDKフォルダをTRTCDemo.vcxprojが存在するディレクトリ下にコピーします。
説明:
この時点ではC++ SDKだけが必要なため、 SDKパスのCSharpディレクトリを削除しても構いません。




ステップ4:プロジェクト設定の修正

TRTCDemoの属性のページを開きます。ソリューションのResource Manager >TRTCDemoプログラムの右クリックメニュー>属性と進みます。次のステップにしたがって設定してください。
1. Includeのディレクトリの追加: 下図のように、C/C++ > 通常 > Includeディレクトリの追加で、64ビットの場合は、SDKヘッダーファイルディレクトリ$(ProjectDir)SDK\CPlusPlus\Win64\include$(ProjectDir)SDK\CPlusPlus\Win64\include\TRTCを追加します。
説明:
32ビットの場合は、SDKヘッダーファイルディレクトリを$(ProjectDir)SDK\CPlusPlus\Win32\include$(ProjectDir)SDK\CPlusPlus\Win32\include\TRTCに設定する必要があります。

2. ライブラリのディレクトリの追加: 下図のように、リンカー>通常>ライブラリディレクトリの追加で、64ビットの場合は、SDKライブラリディレクトリ $(ProjectDir)SDK\CPlusPlus\Win64\libを追加します。
説明:
32ビットの場合は、SDKライブラリディレクトリを$(ProjectDir)SDK\CPlusPlus\Win32\libに設定する必要があります。

3. ライブラリファイルの追加: 下図のように、リンカー>入力>依存プロジェクトの追加で、 SDKライブラリファイルliteav.libを追加します。

4. copyコマンドの追加: 下図のように、イベントの生成>後続のイベントの生成>コマンドラインで、コピーコマンドcopy /Y $(ProjectDir)SDK\CPlusPlus\Win64\lib\*.dll $(OutDir)を追加します。編集が完了すると、自動で SDKの.dll ファイルがプログラムの実行ディレクトリの下にコピーされます。
説明:
32ビットの場合は、追加するコピーコマンドはcopy /Y $(ProjectDir)SDK\CPlusPlus\Win32\lib\*.dll $(OutDir)となります。




ステップ5: SDKバージョン番号の印刷

1. TRTCDemo.cppファイルのトップにヘッダーファイルをインポートして追加します。コードは次のとおりです。
#include "ITRTCCloud.h"
#include <QLabel>
2. TRTCDemo.cppファイルのTRTCDemo::TRTCDemoコンストラクタの中に、以下のテストコードを追加します。
ITRTCCloud * pTRTCCloud = getTRTCShareInstance();
std::string version(pTRTCCloud->getSDKVersion());

QString sdk_version = QString("SDK Version: %1").arg(version.c_str());
QLabel* label_text = new QLabel(this);
label_text->setAlignment(Qt::AlignCenter);
label_text->resize(this->width(), this->height());
label_text->setText(sdk_version);
3. F5を押下して動作させ、下図のとおり、SKDのバージョン番号を印刷します。



Mac端末統合

開発環境要件

オペレーティングシステム:Mac10.10以上のバージョン。
開発環境:Qt Creator 4.10.3以上のバージョン。Qt Creator 4.13.3以上のバージョンの使用を推奨。
開発フレームワーク:Based on Qt 5.10以上。

操作手順

ここでは簡単なQTTest項目の作成を例に、Qt CreatorプロジェクトでC++クロスプラットフォームSDKを統合する方法をご紹介します。

1. C++クロスプラットフォームSDKのダウンロード
1.1 SDKをダウンロードし、ファイルを解凍して開きます。
1.2 QTTestと同じクラスのディレクトリ下で空のSDKフォルダを作成し、SDK内のTXLiteAVSDKTRTCMacx.x.x/SDK/TXLiteAVSDKTRTC_Mac.framework を、QTTestプロジェクトディレクトリと同じクラスのディレクトリにあるSDKフォルダにコピーします。
2. QTTest.proの設定 QTTest プロジェクトディレクトリを開き、任意のテキストエディタを使用して QTTest.pro ファイルを開いてから、SDK関連の引用を追加します。
INCLUDEPATH += $$PWD/.
DEPENDPATH += $$PWD/.

LIBS += "-F$$PWD/base/util/mac/usersig"
LIBS += "-F$$PWD/../SDK"
LIBS += -framework TXLiteAVSDK_TRTC_Mac
LIBS += -framework Accelerate
LIBS += -framework AudioUnit

INCLUDEPATH += $$PWD/../SDK/TXLiteAVSDK_TRTC_Mac.framework/Headers/cpp_interface

INCLUDEPATH += $$PWD/base/util/mac/usersig/include
DEPENDPATH += $$PWD/base/util/mac/usersig/include
3. カメラおよびマイクの使用権限の承認 SDKではカメラおよびマイクを使用しますので、対応する Info.plist に該当する権限申請説明を追加する必要があります。
NSMicrophoneUsageDescription:マイクの使用申請
NSCameraUsageDescription:カメラの使用申請
下図に示すとおり:


4. TRTC SDKの引用
ヘッダーファイル #include "ITRTCCloud.h" によって直接引用することができます。
ネームスペースの利用:C++のすべてのプラットフォームのインターフェースのメソッド、タイプなどはいずれもtrtcネームスペースで定義されています。コードをより簡潔にするため、trtcネームスペースを直接使用することをお勧めします。
説明:
ここまでで統合作業はすでに完了していますので、プロジェクトをコンパイルして実行できます。 Demoを使用するためのクロスプラットフォームSDKのAPIの詳細については、QTDemoをダウンロードしてご参照ください。

よくあるご質問

次のエラーが生じた場合は、前述のプログラム設定にしたがって、SDKヘッダーファイルのディレクトリが正しく追加されているかチェックしてください。
fatal error C1083: includeファイルを開くことができません: “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) の中に引用されています