0

「C」コードと「コンソール アプリケーション」で GNSDK api を実験しました。問題ありません。現在、「C++」コードと Qt 5.1 で GNSDK ラッパーを実験しています。次の単純な行で停止します。

gracenote::GnString s_MyString = "another string";

この行を正しくする方法は?

4

1 に答える 1

0

GNSDK の GnString は、SDK から出力されるマネージド文字列にのみ使用されます。シリアライズされた GnUser データを 1 つとして返すために、使用されるインスタンスはごくわずかです。GNSDK とやり取りする他のすべての文字列は、「C」文字列 (直接文字列ポインター) です。GNSDK はこれらを gnsdk_cstr_t としてタイプします。

シリアル化された文字列を RegisterUser に渡すには、'C' 文字列を指定します (ただし、UTF8 でエンコードされていることを確認してください)。

QString から、これを行うことができるはずです。

gnsdk_cstr_t serializedUser = text.toUtf8().constData();

この serializedUser を RegisterUser に渡すことができます。

つまり、アプリで使用するために GnString を作成する必要はありません。GNSDK からの特定の出力値に対してのみ存在します。

于 2013-12-12T07:15:50.103 に答える