0

我们已经用“C”代码和“控制台应用程序”试验了 GNSDK api,没关系,现在,我们正在用“C++”代码和 Qt 5.1 试验 GNSDK 包装器,我们被这个简单的行阻止了:

gracenote::GnString s_MyString = "another string";

如何使这条线正确?

4

1 回答 1

0

来自GNSDK的 GnString 仅用于来自SDK 的托管字符串。只有少数情况下使用它,返回序列化的 GnUser 数据是一个。所有其他进出 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 回答