【问题标题】:QSGContext missing on Qt AndroidQt Android 上缺少 QSGContext
【发布时间】:2014-01-09 03:28:51
【问题描述】:

我正在为 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 只是一些没有正确链接库的问题?

【问题讨论】:

  • 你在使用任何外部库吗?
  • 只有 qml 和 c++ 才能在 Android 上运行。
  • 最后一个错误似乎表明您的 android 设备在它的 opengl 中没有模板缓冲区支持。这似乎更像是与特定设备的兼容性问题,而不是 Qt 安装的问题

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


【解决方案1】:

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

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

Build Qt 5 for Android

您还必须使所有setups 使您的Kits 正常工作。

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

【讨论】:

    猜你喜欢
    • 2020-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-20
    • 2015-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多