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 下载

相关推荐
周末也要写八哥1 小时前
Visual C++6.0下载安装流程及PDF学习手册资源
c++·学习·pdf
熬夜敲代码的猫2 小时前
AVL树(C++详解版)
数据结构·c++·算法
思麟呀2 小时前
C++工业级日志项目(七)日志器核心
linux·开发语言·c++·windows
郝学胜_神的一滴2 小时前
Qt 高级开发 019:从零定制登录窗口按钮、Logo 样式与交互悬浮效果
c++·qt
lcj25112 小时前
vector的基本使用 + 手搓成员变量 size capacity begin end operator[] reserve扩容 拷贝构造 赋值析构
开发语言·c++·笔记·面试
liulilittle2 小时前
C++ do_div 宏
c++
GHL2842710902 小时前
Qt Creator 19.0.0 (Community)下载
开发语言·qt
-To be number.wan2 小时前
算法日记 | STL-MAP
c++·算法
楼田莉子2 小时前
C++20新特性:Range库
开发语言·c++·后端·学习·c++20