Skip to content

Instantly share code, notes, and snippets.

@CFM880
Last active December 18, 2024 09:34
Show Gist options
  • Save CFM880/b392a29954f6f1a8638bc03bfb7dfa19 to your computer and use it in GitHub Desktop.
Save CFM880/b392a29954f6f1a8638bc03bfb7dfa19 to your computer and use it in GitHub Desktop.
Qt build
FROM ubuntu:latest
RUN apt update && apt install -y locales && localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
ENV LANG=en_US.utf8
RUN apt upgrade -y
RUN apt install -y \
libfontconfig1-dev \
libfreetype-dev \
libx11-dev \
libx11-xcb-dev \
libxcb-cursor-dev \
libxcb-glx0-dev \
libxcb-icccm4-dev \
libxcb-image0-dev \
libxcb-keysyms1-dev \
libxcb-randr0-dev \
libxcb-render-util0-dev \
libxcb-shape0-dev \
libxcb-shm0-dev \
libxcb-sync-dev \
libxcb-util-dev \
libxcb-xfixes0-dev \
libxcb-xinerama0-dev \
libxcb-xkb-dev \
libxcb1-dev \
libxext-dev \
libxfixes-dev \
libxi-dev \
libxkbcommon-dev \
libxkbcommon-x11-dev \
libxrender-dev \
build-essential \
libgl1-mesa-dev \
python3-pip \
python-is-python3 \
pipx \
ninja-build \
cmake \
python3-html5lib \
libnss3-dev \
libdbus-c++-dev \
libdrm-dev \
libglib2.0-dev \
clang \
libzstd-dev \
libsecret-1-dev \
libcups2-dev
RUN apt install -y libglx-dev
RUN apt install -y libclang-dev
RUN apt install -y nodejs
RUN apt install -y gperf
RUN apt install -y bison flex
RUN apt install -y locales
RUN apt install -y chrpath
RUN apt install -y libedit-dev libcurl4-openssl-dev curl libdw-dev
RUN apt install -y librust-rustc-demangle-dev
RUN apt install -y \
libgbm-dev \
libxcomposite-dev \
libsnappy-dev \
libxcursor-dev \
libxrandr-dev \
libxshmfence-dev \
libxtst-dev \
libharfbuzz-dev \
libharfbuzz-subset0 \
libevent-dev \
libminizip-dev \
libtiff-dev \
libre2-dev \
libicu-dev \
liblcms2-dev \
libxslt1-dev \
libavcodec-dev \
libavformat-dev \
libavutil-dev \
libopus-dev \
libvpx-dev \
libpci-dev \
libopenjp2-7-dev \
libalsaplayer-dev \
libpulse-mainloop-glib0 \
libpulse-dev \
libxdamage-dev \
libpoppler-cpp-dev \
libva-dev \
libasound2-dev \
libxcb*-dev \
android-libboringssl-dev
RUN apt install -y openjdk-17-jdk
RUN apt install -y \
libsystemd-dev \
libb2-dev \
libghc-dbus-hslogger-dev \
libproxy-dev \
libglobus-gssapi-gsi-dev \
libmtdev-dev \
node-tslib \
libxkbfile-dev
RUN apt install -y ccache
RUN apt install -y xterm
#
RUN apt install -y libglu1-mesa-dev libglu1-mesa
RUN apt install -y libcap-dev libegl1-mesa-dev libxss-dev libxss1
RUN apt install -y libevdev-dev libmd4c-dev libmd4c-html0-dev libgulkan-dev libinput-dev libts-dev libassimp-dev libghc-iconv-dev libbluetooth-dev libavdevice-dev
RUN update-locale LANG=en_US.UTF-8
ENV CCACHE_DIR=/app/.ccache
ENV CCACHE_EXEC=/usr/bin/ccache
# RUN ${CCACHE_EXEC} --dir ${CCACHE_DIR} --max-size 50G
RUN apt clean
RUN apt -y install sudo
# RUN useradd -m ubuntu &&
RUN echo "ubuntu:ubuntu" | chpasswd && adduser ubuntu sudo
USER ubuntu
WORKDIR /app
@CFM880
Copy link
Author

CFM880 commented Nov 11, 2024

qt-creator-opensource-src-14.0.2
qt-creator-opensource-src-14.0.2.tar.gz
qt-everywhere-src-6.8.0
qt-everywhere-src-6.8.0.tar.xz

xhost +Local:* # x11 转发
docker run -it \
    --name qtdocker \
    -e DISPLAY=$DISPLAY \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    -v ~/sources/qt-sources:/app \
    -v ~/Android:/root/Android \
    --net=host \
    qtdocker:last /bin/bash
docker exec -it da5593cf496dfa6ad2ac73d30c4c74dbe5e33186ae5bd911d59337480792245b /bin/bash

@CFM880
Copy link
Author

CFM880 commented Nov 13, 2024

mkkir qt-build
mkdir qt-build/out
cd qt-build
../qt-everywhere-src-6.8.1/configure \
    -prefix $PWD/out \
    FEATURE_clang=ON \
    -debug-and-release \
    -opensource  \
    -shared \
    -ccache \
    -install-examples-sources \
    -make examples \
    -DFFMPEG_DIR=../ffmpeg-master-latest-linux64-gpl-shared
cmake --build .
cmake --install .
cmake --build . --target docs
cmake --build . --target install_docs

@CFM880
Copy link
Author

CFM880 commented Nov 13, 2024

mkdir  qt-creator-build
cd qt-creator-build
cmake -DCMAKE_BUILD_TYPE=Release -G Ninja "-DCMAKE_PREFIX_PATH=../qt-build/out" ../qt-creator-opensource-src-15.0.0
cmake --build .
cmake --install . --prefix $PWD/out

cd out/lib
mkdir Qt
ln -s ../../../../qt-build/out/plugins/ plugins
ln -s ../../../../qt-build/out/lib/ lib
```

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment