c++ - Qt Android 上缺少 QSGContext

标签 c++ qt opengl-es android-ndk qml

我正在为 Android 开发应用程序。开发是在 Linux 上完成的,使用带有 C++ 和 QML 的 Qt Creator。

因为我一整天都在扯我的头发,那件事似乎不太明显,我想知道是否有人能对调试器冲出的错误有任何线索:

Could not load shared library symbols for 85 libraries, e.g. /system/bin/linker.

W/Qt      (24399): kernel/qcoreapplication.cpp:418
    (QCoreApplicationPrivate::QCoreApplicationPrivate(int&, char**, uint)): WARNING: QApplication was 
        not created in the main() thread.

D/libEGL  (24399): loaded /system/lib/egl/libEGL_tegra.so
D/libEGL  (24399): loaded /system/lib/egl/libGLESv1_CM_tegra.so
D/libEGL  (24399): loaded /system/lib/egl/libGLESv2_tegra.so
D/OpenGLRenderer(24399): Enabling debug mode 0
I/Choreographer(24399): Skipped 35 frames!  The application may be doing 
    too much work on its main thread.
D/Qt      (24399): qtcpserverconnection.cpp:173 (void QTcpServerConnection::listen()): QML Debugger:
    Waiting for connection on port 48309...
D/dalvikvm(24399): GC_CONCURRENT freed 396K, 6% free 7689K/8152K, paused 4ms+2ms, total 56ms

W/Qt      (24399): scenegraph/qsgcontext.cpp:440 (virtual void    
    QSGRenderContext::initialize(QOpenGLContext*)): QSGContext::initialize: 
           stencil buffer support missing, expect rendering errors

这是缺少某些库的问题还是 Qt Creator 只是没有正确链接库?

最佳答案

我前段时间遇到了一些类似的问题。为我解决的问题不是安装 Qt5,而是简单地从源代码构建它。

在这里你可以找到所有的步骤:

Build Qt 5 for Android

您还必须制作所有 setups拥有你的Kits正常工作。

请记住,虽然 Qt QML 对大多数应用程序都很好,但如果您决定在您的应用程序中使用 Android 的一些更具体的功能,您将会遇到麻烦,因为它仍然没有 100% 与 Android API 集成 -例如地理围栏和其他 Google map 功能。在这种情况下,要走的路仍然是将 Android SDK Java 与 JNI 用于其下的 C++ 代码。

关于c++ - Qt Android 上缺少 QSGContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20700730/

相关文章:

c++ - Qt designer如何抓取信息

c++ - Qt Rubberband选择rect透明

c++ - Qt双向客户端服务器使用QTcpSocket和QTcpServer

c++ - 调用函数后程序忽略所有内容

c++ - 如果大小未知,如何通过引用将一维数组作为参数传递?

c++ - CString 到 TCHAR

C++ 标量变量设置为零值

c++ - 为什么 constexpr 方法可以正确返回其值在执行过程中发生变化的类成员?

android - 是否有使用 Oxygene 制作的可交叉编译的 OpenGL 示例?

android - glTranslatef/2D 视口(viewport)设置问题