Unsolved Project ERROR: Unknown module(s) in QT: designer
-
I'm sorry but I'm a little confused by your reply. If I want to use the Qwt plugin to add one of their widgets I need to use designer to place the widget and then I would need to cross compile and transfer to the Raspberry Pi to run on the Pi.
Could you add some details on how I would install, use, and cross compile for the Pi?
Thanks,
George -
I mean that the plugin must be compiled for the same architecture as Designer is running on. So for development you need to build Qwt twice: once for your desktop machine and once for your Pi.
When cross-compiling you'll be linking to your cross-compiled Qwt the same way you'd be linking with your Desktop build of Qwt while building your application on your desktop machine.
-
OK, I think I'm getting there, thanks. so for the Host build I would issue:
qmake qwt.pro -spec linux-g++ make sudo make install
which would install it at /usr/local/qwt-6.3.1 on the Ubunutu Host
and then for the Raspberry Pi I would issue:
qmake qwt.pro -spec device/linux-rasp-pi3-g++ make make install
But I need to direct the output to go into the ~/raspi/sysroot/usr or some other place like ~raspi/build/qt5.9/bin?
When I ran the .config for cross compiling on the Ubuntu Host the configure used these values:
-sysroot ~/raspi/sysroot -prefix /usr/local/qt5.9 -extprefix ~/raspi/build/qt5.9 -hostprefix ~/raspi/build/qt5.9-host
-
Use the full path to the qmake binary of the version of Qt you want to use.
As for cross-compilation, again, use the the full path to the qmake binary from your cross-compiled Qt.
-
Dear Sirs,
I am facing the same issue. I also stop at Project ERROR: Unknown module(s) in QT: designer
My procedure is:
- Use QT creator open qwt.pro
- select Desktop QT5.8.0 GCC 64bit to build project
- result is OK.(no error)
- switch to "Raspberry Pi" then build project. (/rpi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++)
- result is " Unknown module(s) in QT: designer"
According to this discussion: http://www.qtcentre.org/threads/59011-Error-building-qwt-6-1-0-with-qmake-3-0
It same as @SGaist 's suggestion, it needs to compiler qwt.pro twice(if using cross-compiler).
Do I have to comment out designer for the fourth step (the 2nd compiler) ?
How to do it ? Does it means QT+=designer in qwt.pro (manual add for step2) or theQWT_INSTALL_PLUGINS = $${QWT_INSTALL_PREFIX}/plugins/designer
in qwtconfig.pri ??
Is there anyone have similar experience ?
Thanks for any help.
-
IIRC, you need to disable the
QWT_CONFIG += QwtDesigner
line in qwtconfig.pri. -
Dear @SGaist ,
Yes, your suggestion is correct. After comment out
QWT_CONFIG += QwtDesigner
I can use rpi(/arm-linux-gnueabihf-g++) compiler the qwt project without error.
Though I still don't know how to add qwt into designer correctly, this may belong to different topic. I will arrange my test procedure and create different topic.
Thanks.
-
The plugin for Designer must be built with the same version of Qt than Designer/Creator was built with (on Windows this includes compiler version).
That's why it's recommended to split the plugin project in two:
- One is a library with all the widget(s)
- One is the plugin itself
The plugin will be used to design your widget while the library will be used to link the application thus when you cross-compile you only need the library for the target.
-
I installed QT Creator into the ubuntu 16.04,
After first compiler by linux-g++,
libqwt_designer_plugin.so
was created.
and then I open terminal and run "sudo make install" in/build-qwt-Desktop_Qt_5_8_0_GCC_64bit-Debug/
. Then I can see qwt-6.1.3 folder was generated to/usr/local
then as @SGaist said, I comment out qwtdesigner, then run 2nd compiler.
2nd compiler is linux-rasp-pi-g++, then generate../build-qwt-Raspberry_Pi-Debug
.-
Where should I copy
libqwt_designer_plugin.so
to ??
I expect after this process, I should able to see qwt widget in designer, right ?
I had tried copy to ~/Qt5.8.0/5.8/gcc_64/plugins/designer , but not working. -
Should I do
sudo make install
in the ../build-qwt-Raspberry_Pi-Debug after 2nd compiler ? -
After 2nd compiler, I think I should copy all
../build-qwt-Raspberry_Pi-Debug/lib
to some place, but where ?? Replace everything in the /usr/local/qwt-6.1.3/lib ??
Appreciate for any help~
-
-
The plugin should go within the installation of Qt Creator
You should have your cross-compiled Qwt in it's own folder.
-
Dear Sirs,
I want to make qwt widget show on designer first, so I copy
libqwt_designer_plugin.so
to below foler, one by one./Qt5.8.0/5.8/gcc_64/plugins/designer
/Qt5.8.0/Tools/QtCreator/lib/qtcreator/plugins
/Qt5.8.0/Tools/QtCreator/lib/Qt/plugins/designer
/Qt5.8.0/Tools/QtCreator/lib/qtcreator/plugins/qbs/plugins
/Qt5.8.0/Tools/QtCreator/bin/designer <--manual create bin/designer folder
/usr/local/qwt-6.1.3/plugins/designer <--manual create plugins/designer folderUnfortunately, none of them work... Any idea ?
PS. I re-open Qt Creator after copy to the folder each time.
-
Did you check that you are using the same version of Qt that was used to build Qt Creator ?
-
Dear @SGaist ,
I think they are the same, when I install qt creator I just download *.run file to complete the installation, so I think it use default make to build qt creator. Default gcc version is:
x86_64-linux-gnu
When compiler qwt desktop(ubuntu) version, I didn't export different compiler. So Qwt and qt creator should use the same make and gcc version.
Is there any point I can check ?
-
You can start Qt Creator on the command line after setting the
QT_DEBUG_PLUGINS
environment variable to 1 so you can see what is happening with your plugin. -
Dear @SGaist ,
I reinstall QT Creator and copy libqwt_designer_plugin.so to
~/Qt5.8.0/Tools/QtCreator/lib/Qt/plugins/designer/, then I can see qwt widget in the designer.I have not complete the whole process, but this is a good start. Thanks.
-
What do you mean by "all process" ?
-
Dear @SGaist ,
I can run on Ubuntu. Then I rebuild by Raspberry and did:
sudo make install
then copy lib to
~/Qt5.8.0/Tools/QtCreator/lib/Qt/lib/ ~/Qt5.8.0/5.8/gcc_64/lib/
then build Qwt example OK, but when I run it, it show:
error while loading shared libraries: libqwt.so.6
So I think I didn't complete all process~
-
Dear All,
After surf the Internet, it can be solved easily by
https://stackoverflow.com/questions/5375523/how-to-set-qwt-path-or-environment-variable?rq=1Just copy *.so to RPi then add path to /etc/ld.so.conf
Thanks everyone.