ubuntu下 cmake初始化脚本 以及 qt依赖

背景

  • ubuntu 24 LTS

cmake 初始化脚本

github.com/friendlyano...

bash 复制代码
sudo apt update
sudo apt install -y \
  python3 \
  python3-dev \
  python3-pip \
  python-is-python3 \
  python3-venv

sudo apt install python3-pip
sudo apt install pipx

pipx install cmake-init

pipx ensurepath
source ~/.bashrc

cmake-init --help
css 复制代码
cmake -S . -B build
cmake --build build

qt6 系统安装

vcpkg window下方便一点,Conan 安装qt6有点坑,就用了系统安装的

ubuntu 24 安装的qt为6.4版本的

csharp 复制代码
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 之后

scss 复制代码
# ===============================
# ✅ 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)

# ===============================

结尾

scss 复制代码
target_link_libraries(myqtapp_exe PRIVATE Qt6::Widgets)

nvim qt6没提示的解决

.clangd

bash 复制代码
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

调试的效果图

远程vnc

上面的如果直接运行,ubuntu是没有界面的,无法显示,x11只能通过电脑,手机考虑vnc

安装系统命令

vbscript 复制代码
sudo apt install tigervnc-standalone-server
sudo apt install openbox

~/.vnc/xstartup

bash 复制代码
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS

# 启动一个简单的终端(如果你需要的话,不需要可以删掉这行)

# 保持进程运行,防止 VNC 闪退
exec /usr/bin/openbox-session
perl 复制代码
vncserver :1 -geometry 1920x1080 -depth 24 -localhost no

vncserver -kill :1
ss -lntp | grep 5901

sudo ufw status
sudo ufw allow 5901

云主机添加规则,ubuntu内检查系统防火墙

外部测试连接

yaml 复制代码
telnet xxxx 5901

~/.bashrc 最后添加

ini 复制代码
export DISPLAY=:1
export QT_QPA_PLATFORM=xcb

source ~/.bashrc

运行后的效果图

www.realvnc.com/en/connect/...

安卓谷歌play 下载

相关推荐
闻道且行之10 小时前
图片处理助手|C++ 手搓离线 AI 抠图工具,U2Net 原理到落地一次讲透
开发语言·c++·人工智能·神经网络·opencv·计算机视觉
玖釉-10 小时前
nvpro_core2 源码与架构解析:NVIDIA Vulkan 图形开发基础框架
c++·windows·图形渲染
秋田君10 小时前
QT_一个UDP通信程序(单播+广播)
开发语言·qt·udp
我是小灰灰吖11 小时前
Qt 6.9.3 Ubuntu 22.04 虚拟键盘显示问题全记录与解决方案
linux·qt·ubuntu
笨鸟先飞的橘猫11 小时前
c++游戏后端开源框架学习——wukong(十、lua热更新)
c++·游戏·开源
我变成萤火虫11 小时前
2026 ICPC沈阳邀请赛Vp补题
数据结构·c++·算法·贪心算法·stl·排序算法·动态规划
小小龙学IT12 小时前
Google Test(gtest/gmock)开源 C++ 单元测试与 Mock 框架完全指南
c++·单元测试·开源
luj_176821 小时前
桥牌思维启示:系统设计的模块化架构
c语言·开发语言·c++·经验分享·算法
会周易的程序员1 天前
aiDgePLC iec61131 虚拟机 完整使用文档
c++·物联网·架构·st·iec61131
小小龙学IT1 天前
Boost.Beast 深度实战:基于 Asio 的开源 C++ HTTP/WebSocket 协议库
c++·websocket·http