使用 Qt 在线安装器或者离线安装包搭建 Qt 环境经常会因为网络因素导致失败,因此本文将使用本地的 Qt 环境来搭建 docker。

首先创建一个文件夹,存放 Dockerfile 和 Qt 目录

mkdir -p qt6-docker/local-qt

把本地环境下的 Qt 拷贝到 local-qt

cp -r /opt/Qt/6.8.2/gcc_64 qt6-docker/local-qt/6.8.2

编写 Dockerfile 

# 使用与本地Qt6编译环境匹配的Ubuntu版本
FROM ubuntu:22.04

# 避免交互模式配置提示
ENV DEBIAN_FRONTEND=noninteractive

# 安装系统依赖和CMake工具链
RUN apt-get update && apt-get install -y \
    build-essential \
    cmake \
    ninja-build \
    pkg-config \
    libgl1-mesa-dev \
    libfontconfig1-dev \
    libfreetype6-dev \
    libx11-dev \
    libxext-dev \
    libxrender-dev \
    libxi-dev \
    libxkbcommon-dev \
    libxkbcommon-x11-dev \
    libxcb-icccm4-dev \
    libxcb-image0-dev \
    libxcb-keysyms1-dev \
    libxcb-render-util0-dev \
    libxcb-shape0-dev \
    libxcb-sync-dev \
    libxcb-xfixes0-dev \
    libxcb1-dev \
    && rm -rf /var/lib/apt/lists/*

RUN mkdir -p /opt/Qt

COPY local-qt/6.8.2 /opt/Qt/6.8.2

# 配置Qt6环境变量
ENV QTDIR=/opt/Qt/6.8.2/gcc_64
ENV PATH=$QTDIR/bin:$PATH
ENV LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
ENV PKG_CONFIG_PATH=$QTDIR/lib/pkgconfig:$PKG_CONFIG_PATH

# 验证Qt6和CMake环境
RUN qmake6 --version && cmake --version && echo "Qt6 + CMake环境配置成功"

# 设置工作目录
WORKDIR /workspace


# 默认启动终端
CMD ["/bin/bash"]
    

构建 镜像

docker build -t qt6-cmake-env:6.8.2 .

运行容器并挂载项目

docker run -it --rm -v /path/to/your/qt6/project:/workspace qt6-cmake-env:6.8.2 

可选:

把镜像保存成文件

docker save qt6-cmake-env:6.8.2 | gzip > qt6-cmake-env.tar.gz

导入镜像

docker load < qt6-cmake-env.tar.gz
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐