Integrating QML with C++ - Plugin problems [Solved]
-
wrote on 11 Jul 2011, 11:55 last edited by
Hey there, I've been following the "developer slides":http://qt.nokia.com/developer/learning/online/training/materials/qt-essentials-qt-quick-edition on the site but I am having an issue with regards to standalone testing of plugins.
Slide 55, Using Custom Types, says that if I have built the objects as ellipseplugin.dll and libellipseplugin.a in /plugins and have my qml and qmldir in /standalone then it should work.
The qmldir is set to the relative location of ../plugins - in fact everything is as stated in the slide but I've tried running it with:
@
C:\Scratchpad\QtQuick Demos\8. qml-cpp-integration>qmlviewer -I ex-extension-plugin\plugins\ ex-extension-plugin\standalone\ellipse9s.qml
@
but the Debugging>Show Warnings window gives
@
file:///C:/Scratchpad/QtQuick Demos/8. qml-cpp-integration/ex-extension-plugin/standalone/ellipse9s.qml:6:5: Ellipse is not a type
Ellipse {
^
@Is this just broken on Windows or is there something I'm missing. I don't get a .so but a .a as mentioned in the slides so is it possible the default project builds a static library rather than the correct shared object?
-
wrote on 11 Jul 2011, 12:05 last edited by
Try to compile and run the example that comes with your Qt distribution:
examples/declarative/cppextensions/plugins
Don't miss to read the short README in the root folder. -
wrote on 11 Jul 2011, 12:25 last edited by
I don't have examples/declarative/cppextensions, I have:
C:\QtSDK\Examples\notificationexample
C:\QtSDK\Examples\4.7<loads of examples>but even then the \declarative folder doesn't contain cppextensions:
!http://i.imgur.com/7G1Sk.png(My samples)!
-
wrote on 11 Jul 2011, 13:24 last edited by
I also can not find it in my QtSdk but look here:
https://qt.gitorious.org/qt/qt/trees/4.7/examples/declarative/cppextensions/plugins -
wrote on 11 Jul 2011, 13:37 last edited by
-
wrote on 11 Jul 2011, 14:16 last edited by
I think we're getting off topic here.
The code accompanying the slides compiles fine - I just can't use it with QMLViewer so I wondered if the slides are wrong, the code is wrong (in which case, I need someone to contact to correct them ) or my configuration is wrong.
Has anyone managed to run qmlviewer on the ellipse9s.qml example?
-
wrote on 11 Jul 2011, 14:32 last edited by
Yes, I have just downloaded and compiled the example. No problem at all. It runs like a charm.
I did not specify any path after qmlviewer. Make qml-cpp-integration/ex-extension-plugin/standalone your current directory and invoke
qmlviewer ellipse9s.qml -
wrote on 11 Jul 2011, 14:46 last edited by
OK thanks for that - I guess something is wrong with my install on Windows. Going to reintall the Qt SDK :(
-
wrote on 11 Jul 2011, 14:59 last edited by
I did not test it under Windows though.
-
wrote on 11 Jul 2011, 15:00 last edited by
I was aware it worked fine on Linux - that was the point of my posting, it didn't work under Windows so I wondered what was wrong. (hence the screenshot and the whole C:\ stuff).
Double sad face.
-
wrote on 11 Jul 2011, 15:25 last edited by
Ok, my mistake.
Just repeated the same thing under Windows. First issue: To build it the path should not contain blanks. Second issue: It does not work under Windows. I also did not find a dll . -
wrote on 11 Jul 2011, 16:31 last edited by
Boom sussed it. For me I changed QtCreator to build for mingw of the whole project, then launching a mingw command prompt from Programs>Qt SDK>Desktop>Qt 4.7.3 for Desktop (MingW).
I could then navigate to the directory and launch qmlviewer to view the app.
I figured that it must be a compilation/library configuration issue about 20 minutes after blowing away my Qt install and starting a new one and reading dialingo's mention of the .dll file...
Good times. I think I'm well on the way for my Qt Accreditation ;)
10/12