In this case, there are actually two layers of libraries. I have a legacy custom gesture library (libqt_gesture_lib.so that BTW has nothing to do with Qt.labs.gestures), and then I built an extension wrapper (libgestureengine.so) to use that library within QML. I installed the wrapper (libgestureengine.so), but forgot to install the custom gesture library (libqt_gesture_lib.so) that it dynamically links to. QMLviewer tries to load the plugin, but the plugin loading is failing under the covers because the plugin can't locate its link dependency (libqt_gesture_lib.so).
Best -Tico On Sep 30, 2010, at 9:16 PM, ext [email protected] wrote: > Hi, > > On 01/10/2010, at 5:13 AM, ext Tico Ballagas wrote: > >> I was having issues debugging an import problem for a custom >> QDeclarativeExtensionPlugin. >> >> The ultimate problem was that I forgot to install a required shared library >> used by my plugin. However, qmlviewer reported the problem as follows: >> >> # QML_IMPORT_TRACE=1 qmlviewer gesture.qml >> QDeclarativeImportDatabase::addImportPath "/usr/lib/qt4/imports" >> QDeclarativeImportDatabase::addImportPath "/usr/bin" >> QDeclarativeImportDatabase::addToImport 0x24d37c "." -1.-1 File as "" >> QDeclarativeImportDatabase::add: loaded >> "/home/user/gestureEngineTest/qmldir" >> QDeclarativeImportDatabase::importPlugin ".home.user.gestureEngineTest" from >> "/home/user/gestureEngineTest/lib/libgestureengine.so" >> QDeclarativeImportDatabase::addToImport 0x24d37c "Qt" 4.7 Library as "" >> file:///home/user/gestureEngineTest/gesture.qml:3:1: GestureEngine is not a >> type >> GestureEngine { >> >> where GestureEngine is defined in libgestureengine.so, but it doesn't convey >> that the plugin import failed. In fact, the trace leads you believe the >> plugin was successfully loaded. >> >> It would be nice if qmlviewer displayed an error like the following: >> error while loading shared libraries: libqt_gesture_lib.so.1: cannot open >> shared object file: No such file or directory > > A brief test on my build indicates that if the plugin fails to load, you do > get a descriptive error message: > > file:///Users/aakenned/Qt/qt-qml/test.qml:2:1: module "Qt.labs.gestures" > plugin "qmlgesturesplugin" not found > import Qt.labs.gestures 1.0 > > What I suspect is happening to you is that the plugin is loading > successfully, but it doesn't contain a GestureEngine element. Can you > provide more details? > > Cheers, > > Aaron > > > _______________________________________________ > Qt-qml mailing list > [email protected] > http://lists.trolltech.com/mailman/listinfo/qt-qml _______________________________________________ Qt-qml mailing list [email protected] http://lists.trolltech.com/mailman/listinfo/qt-qml
