fffaraz / docker-qt Goto Github PK
View Code? Open in Web Editor NEWC++ Qt compile environment for Docker (Dynamically Linked, Statically Linked, and Cross-compiled to Windows)
Home Page: https://hub.docker.com/r/fffaraz/qt/
License: MIT License
C++ Qt compile environment for Docker (Dynamically Linked, Statically Linked, and Cross-compiled to Windows)
Home Page: https://hub.docker.com/r/fffaraz/qt/
License: MIT License
$ cmake -DCMAKE_PREFIX_PATH=/opt/mxe/usr/i686-w64-mingw32.static/qt5/ ..
...............
- Detecting C compile features - done
CMake Error at /opt/mxe/usr/i686-w64-mingw32.static/qt5/lib/cmake/Qt5Core/Qt5CoreConfig.cmake:92 (message):
Library not found: mpr
Call Stack (most recent call first):
/opt/mxe/usr/i686-w64-mingw32.static/qt5/lib/cmake/Qt5Core/Qt5CoreConfig.cmake:272 (_qt5_Core_process_prl_file)
/opt/mxe/usr/i686-w64-mingw32.static/qt5/lib/cmake/Qt5/Qt5Config.cmake:28 (find_package)
third_party/goodies/CMakeLists.txt:11 (find_package)
$ sed -n '11,19 p' ../third_party/goodies/CMakeLists.txt
find_package(Qt5 COMPONENTS
Core
Gui
Qml
Quick
QuickControls2
Concurrent
Charts
REQUIRED)
Hello!
I am trying to build minimal example
using docker-compose.yaml like
qt:
image: fffaraz/qt:static
volumes:
- ./app:/app
stdin_open: true
tty: true
got error
$ docker-compose exec qt bash
root@5ae058e5429e:/# cd /app
root@5ae058e5429e:/app# qmake
Project ERROR: Unknown module(s) in QT: webengine
"Configuring tzdata" stops the building process of windows image. Using powershell on windows leaves no possibility to select tzdata.
Thank you very much for this project,
However it would really help me if you could include qt6 multimedia and other modules
another question i havenβt tested so far. Can I use https and the SSL stuff with the static linked binary?
Hi,
I try to run a Widget QT app and I have this error message :
qt.qpa.xcb: could not connect to display
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
Here a screenshot of my toolchain to execute my app :
I have seen on this forum someone having the same issue as me : https://forum.qt.io/topic/120349/run-qt-gui-application-inside-docker/13. I don't really understand how to solve this issue though.
Can you help me please ?
Hey! Do you plan to update the dockerfiles to work with Qt 6?
Im not sure if this is mxe related, maybe since 5.15 was recently released?
[build] qtbase x86_64-w64-mingw32.static [75/2294]
Failed to build package qtbase for target x86_64-w64-mingw32.static!
make[3]: *** [Makefile:202: sub-corelib-make_first] Error 2
make[3]: Leaving directory '/opt/mxe/tmp-qtbase-x86_64-w64-mingw32.static/qtbase-everywhere-src-5.15.0/src'
make[2]: *** [Makefile:54: sub-src-make_first] Error 2
make[2]: Leaving directory '/opt/mxe/tmp-qtbase-x86_64-w64-mingw32.static/qtbase-everywhere-src-5.15.0'
make[1]: *** [Makefile:846: build-only-qtbase_x86_64-w64-mingw32.static] Error 2
make[1]: Leaving directory '/opt/mxe'
real 3m18.517s
user 12m57.025s
sys 1m21.569s
[log] /opt/mxe/log/qtbase_x86_64-w64-mingw32.static
make: *** [Makefile:834: /opt/mxe/usr/x86_64-w64-mingw32.static/installed/qtbase] Error 1
Removing intermediate container c507c3829bd1
The command '/bin/sh -c cd /opt && git clone https://github.com/mxe/mxe.git && cd /opt/mxe && NPROC=$(($(nproc)+4)) && make --jobs=$NPROC JOBS=$NPROC MXE_TARGETS='x86_64-w64-
mingw32.static' qtbase && ln -s /opt/mxe/usr/bin/x86_64-w64-mingw32.static-qmake-qt5 /usr/bin/qmake && qmake --version && exit 0' returned a non-zero code: 2
------------------------------------------------------------
from mako.template import Template
ImportError: No module named mako.template
scons: *** [build/windows-x86/mesa/main/format_fallback.c] Error 1
scons: building terminated because of errors.
make[1]: *** [Makefile:846: build-only-mesa_i686-w64-mingw32.static] Error 2
make[1]: Leaving directory '/opt/mxe'
I get this from a fresh ./build.sh
run
This upstream issue seems related: mxe/mxe#2561
I get the following output:
[done] meson-wrapper x86_64-pc-linux-gnu 12 KiB 0m12.466s
[build] meson-wrapper i686-w64-mingw32.static
[done] meson-wrapper i686-w64-mingw32.static 12 KiB 0m13.028s
Failed to build package qt6-qtbase for target x86_64-pc-linux-gnu!
------------------------------------------------------------
-- Configuring incomplete, errors occurred!
See also "/opt/mxe/tmp-qt6-qtbase-x86_64-pc-linux-gnu/qtbase-everywhere-src-6.2.4.build_/CMakeFiles/CMakeOutput.log".
See also "/opt/mxe/tmp-qt6-qtbase-x86_64-pc-linux-gnu/qtbase-everywhere-src-6.2.4.build_/CMakeFiles/CMakeError.log".
make[1]: *** [Makefile:896: build-only-qt6-qtbase_x86_64-pc-linux-gnu] Error 1
make[1]: Leaving directory '/opt/mxe'
real 1m49.561s
user 0m34.731s
sys 0m7.423s
------------------------------------------------------------
[log] /opt/mxe/log/qt6-qtbase_x86_64-pc-linux-gnu
make: *** [Makefile:884: /opt/mxe/usr/x86_64-pc-linux-gnu/installed/qt6-qtbase] Error 1
make: *** Waiting for unfinished jobs....
[done] gettext x86_64-pc-linux-gnu 370972 KiB 25m59.422s
[done] gcc i686-w64-mingw32.static 4884044 KiB 30m12.236s
The command '/bin/sh -c cd /opt/mxe && make --jobs=$(nproc) JOBS=$(nproc) MXE_TARGETS='i686-w64-mingw32.static' qt6-qtbase && exit 0' returned a non-zero code: 2
When trying to build my application I encounter the following error:
root@1b45ef37bffb:/app# qmake
Project ERROR: Unknown module(s) in QT: serialport
How can I add the serialport module?
For future reference, how can I add other modules?
Hi authors, thank you for your work. I got this issue when I build the Dockerfile.win64s file. Could you check it?
12.99 ------------------------------------------------------------
12.99 2023-10-05 10:49:30 ERROR 404: Not Found.
12.99 --2023-10-05 10:49:30-- http://d1yihgixbnrglp.cloudfront.net/zlib%2D1%2E2%2E13%2Etar%2Exz_d14c38e313afc35a9a8760dadf26042f51ea0f5d154b0630a31da0540107fb98
12.99 Reusing existing connection to d1yihgixbnrglp.cloudfront.net:80.
12.99 HTTP request sent, awaiting response... 404 Not Found
12.99 2023-10-05 10:49:30 ERROR 404: Not Found.
12.99 Download failed!
12.99 ------------------------------------------------------------
12.99 [log] /opt/mxe/log/zlib-download
12.99
12.99 make: *** [Makefile:734: download-only-zlib-1.2.13.tar.xz] Error 1
12.99 make: *** Waiting for unfinished jobs....
------
Dockerfile.win64s:3
--------------------
2 |
3 | >>> RUN \
4 | >>> cd /opt/mxe && \
5 | >>> make --jobs=$(nproc) JOBS=$(nproc) MXE_TARGETS='x86_64-w64-mingw32.static' qt6-qtbase && \
6 | >>> exit 0
7 |
--------------------
ERROR: failed to solve: process "/bin/sh -c cd /opt/mxe && make --jobs=$(nproc) JOBS=$(nproc) MXE_TARGETS='x86_64-w64-mingw32.static' qt6-qtbase && exit 0" did not complete successfully: exit code: 2
That would avoid the need to rebuild them.
A simple Github workflow could build and push the images.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.