Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
cross-complie QT5.8 with multimedia
my embedded platform is ARM x64. i cross-compile QT 5.8 with the following comfigure string:
./configure -extprefix /opt/QT5.8.0 -release -opensource -xplatform linux-aarch64-gnu-g++ -no-opengl -nomake examples -optimized-qmake -pch -qt-libjpeg -qt-libpng -no-sse2 -no-openssl -no-cups -no-glib -no-iconv -no-separate-debug-info -no-pkg-config -xcb-xlib -qpa xcb
after that, i use the cross-compile version of kit to debug the code (which is success in desktop kit) in QT Creator . But fail with:
Project ERROR: Unknown module(s) in QT: multimedia multimediawidgets
i think the problem is the QT cross-compile doesn't contain multimedia and multidiawidgets components. Then, what should i do.
BTW, I would like to ask where you get the cross-compiler for aarcg64 (linux-aarch64-gnu-g++) from?
thanks for the guide.
i get cross-compiler for aarch64 from linaro:
@Lann thank you for the link.
Just a couple more things please:
- what about sysroot? did you use the provided by linaro?
- have you added the Qt framework dependencies as well to your sysroot? If so, how?
im new on this filed. and what does 'sysroot' mean?
@Lann Sysroot is a snapshot of the file system of your target device. It is needed because you need libraries and headers from your target device when cross compiling.
i have already downloaded source code of qtmultimedia from
but i have no idea to cross-compile this module. because i find no 'configure' file.
for cross-compiling QT5.8, i followed this steps:
- ./configure ...
- make -j4
- make install
and should i follow this steps to cross-compile qtmultimedia and how?
what does 'sysroot' mean?
As stated by @jsulm "sysroot" is the folder/location of the headers/libraries (mostly) that you use during cross-compile, so the resulting component (Qt libraries in this case, or a Qt app later on) can run properly in the target device.
So it's strange that you claimed you cross-compiled Qt framework, but you didn't pay attention to sysroot (I'm not telling you off, I'm just curious about that)
i find no 'configure' file.
It looks like you didn't look at step #16 as I suggested previously...