Cross-Compile RPi3 with Qt5.7
-
the problem is same as others on RPi3 for a simple window with no word, no fonts needed:
Unable to query physical screen size, defaulting to 100 dpi.
To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).tool chain gcc-linaro-arm-linux-gnueabihf-raspbian-x64
plattform: ubuntu 16.10 x64
rpi3: raspbian jess, PIXEL - (2017-01-11 ), and many othersReally do not know why everyone has the same problem even they followed the instructions
Anyone who could sovlve it , please help. thanks
-
even I followed this instruction
https://forum.qt.io/topic/75228/crosscompile-qt5-7-additional-dependencieson RPi3 it replied
This application failed to start because it could not find or load the Qt platform plugin "eglfs"
in "".
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, xcb.
Reinstalling the application may fix this problem.
Abortedplattform: ubuntu 16.10 x64
rpi3: raspbian jess, PIXEL - (2017-01-11 ) -
Hi,
You should run your application with the QT_DEBUG_PLUGINS environment variable set to 1 to see what is happening with the loading of the platform plugin.
-
Hi,
You should run your application with the QT_DEBUG_PLUGINS environment variable set to 1 to see what is happening with the loading of the platform plugin.
Hi @SGaist thx for your suggestion
on the RPi3
1 export QT_DEBUG_PLUGINS=1
2 ./qopenglwidgetit replied the following, but how to deal with it?
================================================
./qopenglwidget: /usr/lib/arm-linux-gnueabihf/libQt5Widgets.so.5: no version information available (required by ./qopenglwidget)
./qopenglwidget: /usr/lib/arm-linux-gnueabihf/libQt5Gui.so.5: no version information available (required by ./qopenglwidget)
./qopenglwidget: /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5: no version information available (required by ./qopenglwidget)
QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/arm-linux-gnueabihf/qt5/plugins/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/arm-linux-gnueabihf/qt5/plugins/platforms/libqeglfs.so"
Found metadata in lib /usr/lib/arm-linux-gnueabihf/qt5/plugins/platforms/libqeglfs.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.2",
"MetaData": {
"Keys": [
"eglfs"
]
},
"className": "QEglFSIntegrationPlugin",
"debug": false,
"version": 328450
}Got keys from plugin meta data ("eglfs")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/arm-linux-gnueabihf/qt5/plugins/platforms/libqkms.so"
Found metadata in lib /usr/lib/arm-linux-gnueabihf/qt5/plugins/platforms/libqkms.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.2",
"MetaData": {
"Keys": [
"kms"
]
},
"className": "QKmsIntegrationPlugin",
"debug": false,
"version": 328450
}Got keys from plugin meta data ("kms")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/arm-linux-gnueabihf/qt5/plugins/platforms/libqlinuxfb.so"
Found metadata in lib /usr/lib/arm-linux-gnueabihf/qt5/plugins/platforms/libqlinuxfb.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.2",
"MetaData": {
"Keys": [
"linuxfb"
]
},
"className": "QLinuxFbIntegrationPlugin",
"debug": false,
"version": 328450
}Got keys from plugin meta data ("linuxfb")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/arm-linux-gnueabihf/qt5/plugins/platforms/libqminimal.so"
Found metadata in lib /usr/lib/arm-linux-gnueabihf/qt5/plugins/platforms/libqminimal.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.2",
"MetaData": {
"Keys": [
"minimal"
]
},
"className": "QMinimalIntegrationPlugin",
"debug": false,
"version": 328450
}Got keys from plugin meta data ("minimal")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/arm-linux-gnueabihf/qt5/plugins/platforms/libqminimalegl.so"
Found metadata in lib /usr/lib/arm-linux-gnueabihf/qt5/plugins/platforms/libqminimalegl.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.2",
"MetaData": {
"Keys": [
"minimalegl"
]
},
"className": "QMinimalEglIntegrationPlugin",
"debug": false,
"version": 328450
}Got keys from plugin meta data ("minimalegl")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/arm-linux-gnueabihf/qt5/plugins/platforms/libqoffscreen.so"
Found metadata in lib /usr/lib/arm-linux-gnueabihf/qt5/plugins/platforms/libqoffscreen.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.2",
"MetaData": {
"Keys": [
"offscreen"
]
},
"className": "QOffscreenIntegrationPlugin",
"debug": false,
"version": 328450
}Got keys from plugin meta data ("offscreen")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/arm-linux-gnueabihf/qt5/plugins/platforms/libqxcb.so"
Found metadata in lib /usr/lib/arm-linux-gnueabihf/qt5/plugins/platforms/libqxcb.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.2",
"MetaData": {
"Keys": [
"xcb"
]
},
"className": "QXcbIntegrationPlugin",
"debug": false,
"version": 328450
}Got keys from plugin meta data ("xcb")
QFactoryLoader::QFactoryLoader() checking directory path "/home/pi/platforms" ...
loaded library "/usr/lib/arm-linux-gnueabihf/qt5/plugins/platforms/libqxcb.so"
QXcbConnection: Could not connect to display
Aborted -
Without any other indication the xcb plugin is loaded however it seems you don't have any X server running or do you ?
-
Without any other indication the xcb plugin is loaded however it seems you don't have any X server running or do you ?
-
Do you want to have your application running alone on your Pi or have it run in a desktop environment like on your desktop computer ?
-
Do you want to have your application running alone on your Pi or have it run in a desktop environment like on your desktop computer ?
Hi @SGaist, thx
I wish the app could be cross-compiled on the x86 or x64 Desktop PC, and then it could run on the RPi3, full window or only window are both acceptable.
1 running alone on RPi
2 have it run in a desktop environment like on desktop computer
So how should I do for these two kinds? I would like to try for this two different situations.
Would you please give me some suggestion in detail? I am new to RPi cross-compile.
thx -
Hi @SGaist, thx
I wish the app could be cross-compiled on the x86 or x64 Desktop PC, and then it could run on the RPi3, full window or only window are both acceptable.
1 running alone on RPi
2 have it run in a desktop environment like on desktop computer
So how should I do for these two kinds? I would like to try for this two different situations.
Would you please give me some suggestion in detail? I am new to RPi cross-compile.
thx@iiiwww Regarding2: do you have a desktop environment on your RPi? If not install one (for example Pixel or LXDE or whatever you like) and then try to run your app.
See here https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=133691
For LXDE:sudo apt-get install lxde-core lxappearance
-
And for one you need to use one of the other backend, eglfs for example.
-