ubuntu下 cmake初始化脚本与qt依赖配置指南

作者:袖梨 2026-05-31

在Ubuntu 24 LTS环境下进行Qt6开发时,需要完成从环境配置到远程调试的全流程部署。本文将详细介绍关键步骤的实现方法。

背景

  1. ubuntu 24 LTS

cmake 初始化脚本

github.com/friendlyano…

sudo apt update
sudo apt install -y 
  python3 
  python3-dev 
  python3-pip 
  python-is-python3 
  python3-venvsudo apt install python3-pip
sudo apt install pipxpipx install cmake-initpipx ensurepath
source ~/.bashrccmake-init --help
cmake -S . -B build
cmake --build build

qt6 系统安装

虽然vcpkg在Windows环境下更为便捷,但系统安装方式能避免Conan安装Qt6时可能遇到的问题。Ubuntu 24默认安装的是Qt6.4版本。

sudo apt install qt6-base-dev qt6-tools-dev qt6-l10n-tools libgl1-mesa-dev libglu1-mesa-dev qt6-qpa-plugins mesa-utils libgl1-mesa-dri

CMakeLists.txt

使用cmake-init初始化项目后,通过nvim编辑器添加必要依赖。在project声明后加入以下配置:

# ===============================
#  Qt6 配置(加在这里)
# ===============================
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)find_package(Qt6 REQUIRED COMPONENTS Widgets)# ===============================

文件结尾处添加:

target_link_libraries(myqtapp_exe PRIVATE Qt6::Widgets)

nvim qt6没提示的解决

配置.clangd文件解决代码提示问题:

CompileFlags:
  Add:
    - "-I/usr/include/x86_64-linux-gnu/qt6"
    - "-I/usr/include/x86_64-linux-gnu/qt6/QtWidgets"
    - "-I/usr/include/x86_64-linux-gnu/qt6/QtCore"
    - "-I/usr/include/x86_64-linux-gnu/qt6/QtGui"
  CompilationDatabase: build/dev

效果图

成品的效果图1

img_6a1b986b2f5c130.webp

调试的效果图

img_6a1b986b2f5c631.webp

远程vnc

由于Ubuntu默认无图形界面,需要通过VNC实现远程访问。

安装系统命令

sudo apt install tigervnc-standalone-server
sudo apt install openbox

配置~/.vnc/xstartup文件:

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS# 启动一个简单的终端(如果你需要的话,不需要可以删掉这行)# 保持进程运行,防止 VNC 闪退
exec /usr/bin/openbox-session
vncserver :1 -geometry 1920x1080 -depth 24 -localhost novncserver -kill :1
ss -lntp | grep 5901sudo ufw status
sudo ufw allow 5901

添加云主机安全规则后,通过telnet测试连接:

telnet xxxx 5901

在~/.bashrc末尾添加环境变量:

export DISPLAY=:1
export QT_QPA_PLATFORM=xcb

运行后的效果图

img_6a1b986b2f5c932.webp

img_6a1b986b2f5cb33.webp

img_6a1b986b2f5cd34.webp

通过上述步骤,开发者可以在Ubuntu 24 LTS上完成Qt6开发环境的完整部署,并实现远程可视化调试功能。整个流程涵盖了从基础环境配置到复杂远程访问方案的实施细节。

相关文章

精彩推荐