Cross compile dont gen QLabel and QPushbutton and Fontconfig pre-condition
-
I follow these two topics : forum Qt for raspberri pi 3 and tuto for cross-compilation
in first time i install with the .exe.
I also do the step by lygstate in forum for Raspberry pi 3,but i don't skip the step 15i had also had this to my command line -D__ARM_ARCH_7A__ to resovle the issue of Arm architecture.
and try many command line. to have this in final
../qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/configure -v -D__ARM_ARCH_7A__ -opensource -confirm-license -platform win32-g++ -xplatform linux-arm-gnueabi-g++ -release -device linux-rpi3-g++ -opengl es2 -sysroot C:/SysGcc/Raspberry/arm-linux-gnueabihf/sysroot -prefix /usr/local/qt5 -device-option CROSS_COMPILE=C:/SysGcc/Raspberry/bin/arm-linux-gnueabihf- -plugindir C:\SystGcc\qt-everywhere-opensource-src-5.8.0\qt-everywhere-opensource-src-5.8.0\qtbase\src\plugins\platformthemes\gtk3 -qt-pcre -gtk -qt-libpng -make libs -qt-xcb -reduce-exports -optimized-qmake -fontconfig -opensource -confirm-license -skip qtwebkit
in this path in found config_help.txt (..\qt-everywhere-opensource-src-5.8.0\qtbase) to know -gtk it's the command line to activate it.
-
Your prefix option doesn't make sense on Windows.
Also, why exactly did you need to add
__ARM_ARCH_7A__
? -
My prefix option which one it has? Except plugindir(it's for a test) all it's good. I specify ARM_ARCH_7A to fix -# error "Not supported ARM architecture". to days I try to recreate my qt-build and I found all these error... It have a solution to fix it automaticly like compilation or i need to add manually each missings files?
thanks for help
+ cd C:\SystGcc\qt-build\qtbase\config.tests && C:/SysGcc/Raspberry/bin/arm-linux-gnueabihf-g++ -fuse-ld=gold -o conftest-out conftest.cpp > c:/sysgcc/raspberry/bin/../lib/gcc/arm-linux-gnueabihf/4.9/../../../../arm-linux-gnueabihf/bin/ld.gold.exe: -plugin: unknown option > c:/sysgcc/raspberry/bin/../lib/gcc/arm-linux-gnueabihf/4.9/../../../../arm-linux-gnueabihf/bin/ld.gold.exe: use the --help option for usage information > collect2.exe: error: ld returned 1 exit status test config.qtbase.tests.use_gold_linker FAILED + cd C:\SystGcc\qt-build\qtbase\config.tests\common\c++1z && C:\SystGcc\qt-build\qtbase\bin\qmake.exe -qtconf C:/SystGcc/qt-build/qtbase/bin/qt.conf "CONFIG -=qt debug_and_release app_bundle lib_bundle" "CONFIG += shared console" "DEFINES+= __ARM_ARCH_7A__" "QMAKE_CFLAGS += --sysroot=C:/SysGcc/Raspberry/arm-linux-gnueabihf/sysroot" "QMAKE_CXXFLAGS += --sysroot=C:/SysGcc/Raspberry/arm-linux-gnueabihf/sysroot" "QMAKE_LFLAGS += --sysroot=C:/SysGcc/Raspberry/arm-linux-gnueabihf/sysroot" C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/common/c++1z + cd C:\SystGcc\qt-build\qtbase\config.tests\common\c++1z && set MAKEFLAGS=& C:/SystGcc/MinGW64/msys2/usr/bin/make > C:/SysGcc/Raspberry/bin/arm-linux-gnueabihf-g++ -c -march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard --sysroot=C:/SysGcc/Raspberry/ > make: *** [Makefile:176: c++1z.obj] Error 1 test config.qtbase.tests.c++1z FAILED> C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/common/c++98default/c++98default.cpp:41:2: error: #error "compiler does not use c++11 or higher by default" > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/unix/dbus/dbus.cpp:41:23: fatal error: dbus/dbus.h: No such file or directory > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/unix/libudev/libudev.cpp:40:21: fatal error: libudev.h: No such file or directory > #include <libudev.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/unix/reduce_relocs/bsymbolic_functions.c:41:4: error: #error Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129). > # error Symbolic function binding on this architecture may be broken, disabl collect2.exe: error: ld returned 1 exit status No such file or director > C:/SysGcc/Raspberry/bin/arm-linux-gnueabihf-g++ -L -Wl,-rpath-link,C:/SysGcc/Raspberry/arm-linux-gnueabihf/sysroot/usr/lib/arm-linux-gnueabihf -Wl,-rpath-link,C:/SysGcc/Raspberry/arm-linux-gnueabihf/sysroot/lib/arm-linux-gnueabihf -mfloat -abi=hard --sysroot=C:/SysGcc/Raspberry/arm-linux-gnueabihf/sysroot --sysroot=C:/SysGcc/Raspberry/arm-linux-gnueabihf/sysroot -Wl,-O1 -o dlopen dlopen.obj > dlopen.obj: In function `main': > dlopen.cpp:(.text.startup+0xc): undefined reference to `dlopen' > collect2.exe: error: ld returned 1 exit status > make: *** [Makefile:64: dlopen] Error 1 > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/unix/icu/icu.cpp:40:28: fatal error: unicode/utypes.h: No such file or directory > #include <unicode/utypes.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/unix/icu/icu.cpp:40:28: fatal error: unicode/utypes.h: No such file or directory > #include <unicode/utypes.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/unix/doubleconversion/doubleconversion.cpp:40:49: fatal error: double-conversion/double-conversion.h: No such file or directory > #include <double-conversion/double-conversion.h> C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/unix/openssl/openssl.cpp:40:30: fatal error: openssl/opensslv.h: No such file or directory > #include <openssl/opensslv.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/unix/db2/db2.cpp:40:20: fatal error: sqlcli.h: No such file or directory > #include <sqlcli.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/unix/ibase/ibase.cpp:40:19: fatal error: ibase.h: No such file or directory > #include <ibase.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/unix/mysql/mysql.cpp:43:19: fatal error: mysql.h: No such file or directory > #include "mysql.h" C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/unix/mysql/mysql.cpp:43:19: fatal error: mysql.h: No such file or directory > #include "mysql.h" > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/unix/oci/oci.cpp:40:17: fatal error: oci.h: No such file or directory > #include <oci.h> C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/unix/odbc/odbc.cpp:43:17: fatal error: sql.h: No such file or directory > #include <sql.h> C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/unix/psql/psql.cpp:40:22: fatal error: libpq-fe.h: No such file or directory > #include "libpq-fe.h" > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/unix/sqlite2/sqlite2.cpp:40:20: fatal error: sqlite.h: No such file or directory > #include <sqlite.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/unix/tds/tds.cpp:40:22: fatal error: sybfront.h: No such file or directory > #include <sybfront.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/qpa/xcb/xcb.cpp:40:21: fatal error: xcb/xcb.h: No such file or directory > #include <xcb/xcb.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/qpa/xcb-xlib/xcb-xlib.cpp:40:21: fatal error: xcb/xcb.h: No such file or directory > #include <xcb/xcb.h> C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/qpa/eglfs-egldevice/eglfs-egldevice.cpp: In function 'int main(int, char**)': > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/qpa/eglfs-egldevice/eglfs-egldevice.cpp:45:5: error: 'EGLDeviceEXT' was not declared in this scope > EGLDeviceEXT device = 0; > ^ > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/qpa/eglfs-egldevice/eglfs-egldevice.cpp:46:5: error: 'EGLStreamKHR' was not declared in this scope > EGLStreamKHR stream = 0; > ^ > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/qpa/eglfs-egldevice/eglfs-egldevice.cpp:47:5: error: 'EGLOutputLayerEXT' was not declared in this scope > EGLOutputLayerEXT layer = 0; > ^ > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/qpa/eglfs-egldevice/eglfs-egldevice.cpp:48:12: error: 'EGL_DRM_CRTC_EXT' was not declared in this scope > return EGL_DRM_CRTC_EXT; > ^ > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/qpa/eglfs-mali-2/eglfs-mali-2.cpp: In function 'int main(int, char**)': > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/qpa/eglfs-mali-2/eglfs-mali-2.cpp:47:5: error: 'mali_native_window' was not declared in this scope > mali_native_window *w = 0; > ^ > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/qpa/eglfs-mali-2/eglfs-mali-2.cpp:47:25: error: 'w' was not declared in this scope > mali_native_window *w = 0; > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/qpa/eglfs-viv/eglfs-viv.cpp:41:28: fatal error: EGL/eglvivante.h: No such file or directory > #include <EGL/eglvivante.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/unix/freetype/freetype.cpp:40:22: fatal error: ft2build.h: No such file or directory > #include <ft2build.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/qpa/kms/kms.cpp:43:25: fatal error: xf86drmMode.h: No such file or directory > #include <xf86drmMode.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/unix/opengles3/opengles3.cpp:44:25: fatal error: GLES3/gl3.h: No such file or directory > #include <GLES3/gl3.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/unix/harfbuzz/harfbuzz.cpp:40:25: fatal error: harfbuzz/hb.h: No such file or directory > #include <harfbuzz/hb.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/unix/tslib/tslib.cpp:40:19: fatal error: tslib.h: No such file or directory > #include <tslib.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/x11/xinput2/xinput2.cpp:40:22: fatal error: X11/Xlib.h: No such file or directory > #include <X11/Xlib.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/unix/cups/cups.cpp:40:23: fatal error: cups/cups.h: No such file or directory > #include <cups/cups.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtdeclarative/config.tests/d3d12/d3d12.cpp:40:19: fatal error: d3d12.h: No such file or directory > #include <d3d12.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtgamepad/config.tests/sdl/main.cpp:37:17: fatal error: SDL.h: No such file or directory > #include <SDL.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qt3d/config.tests/assimp/main.cpp:29:28: fatal error: assimp/cimport.h: No such file or directory > #include <assimp/cimport.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtwayland/config.tests/wayland/main.cpp:41:29: fatal error: wayland-version.h: No such file or directory > #include <wayland-version.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtwayland/config.tests/wayland_egl/main.cpp:41:25: fatal error: wayland-egl.h: No such file or directory > #include <wayland-egl.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtwayland/config.tests/wayland/main.cpp:41:29: fatal error: wayland-version.h: No such file or directory > #include <wayland-version.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtconnectivity/config.tests/bluez/main.cpp:29:33: fatal error: bluetooth/bluetooth.h: No such file or directory > #include <bluetooth/bluetooth.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtmultimedia/config.tests/alsa/alsatest.cpp:29:28: fatal error: alsa/asoundlib.h: No such file or directory > #include <alsa/asoundlib.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtmultimedia/config.tests/gpu_vivante/main.cpp:29:23: fatal error: GLES2/gl2.h: No such file or directory > #include <GLES2/gl2.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtmultimedia/config.tests/linux_v4l/main.cpp:31:14: warning: unused parameter 'argc' [-Wunused-parameter] > int main(int argc, char** argv) > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtmultimedia/config.tests/linux_v4l/main.cpp:31:27: warning: unused parameter 'argv' [-Wunused-parameter] > int main(int argc, char** argv) > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtmultimedia/config.tests/openal/main.cpp:32:19: fatal error: AL/al.h: No such file or directory > #include <AL/al.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtlocation/config.tests/winrt/main.cpp:30:28: fatal error: windows.system.h: No such file or directory > #include <windows.system.h> > C:/SystGcc/qt-everywhere-opensource-src-5.8.0/qt-everywhere-opensource-src-5.8.0/qtwebengine/tools/qmake/config.tests/alsa/alsatest.cpp:29:28: fatal error: alsa/asoundlib.h: No such file or directory > #include <alsa/asoundlib.h>
-
Don't try to fix every error logged. Some are just detection tests that if failed won't influence the rest e.g. if you don't have Oracle library you won't have the matching driver built but that's not a problem per se.
You should rather look at why the ARM architecture is no found.
-
where did you see that arm is not found?
-
I found in ..\qt-everywhere-opensource-src-5.8.0\qtbase\lib a readme that said
If this directory is empty, you probably forgot to compile the Qt library.my question is did I need to compile qt lib before do generate my qt-built?
-
Sorry, I meant not supported.
-
You have already answer this in this post. it's because qtscript module it's obsoleted.
-
I don't see the relation here with the QtScript module.
-
with the qtscript module you need to specify the arm achitecture or to skip qtscript other else we have a Error that said he can't support Arm achitecture
-
So this thread is solved ?
-
No because this is what i get on my raspberry pi:
and that was what I want to get:
how i can fix it?
-
Good question that requires that you provide more information like warning/error messages your application is generating. Type of backend used to start your application etc.
-
Good question that requires that you provide more information like warning/error messages your application is generating. Type of backend used to start your application etc.
@SGaist this i why i'm so confused and i call help... they doesn't have any warnning or error.
-
Again, what backend are you using on the Pi ?
-
Ok sorry guys , maybe it's my poor english but what do you exactly mean by backend ?
-
Are you using xcb, LinuxFB, EGLFS, other ?
-
How I can verify which one i use?
-
What parameters are passed to your application when you start it ?
You can start your application with the
QT_DEBUG_PLUGINS
environment variable set to 1 so you can see what plugins are loaded. -
i think i passed no parameter i just write in my console "sudo ./Test5".
so you tell me to do write "sudo ./Test 5 QT_DEBUG_PLUGINS=1" or i need to add QT_DEBUG_PLUGINS and set value at 1 in build environment of qt creator.