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

相关推荐
xcyxiner10 小时前
DicomViewer (目录调整) 2
qt
xcyxiner12 小时前
dcmtk vtk vtk-dicom(gdcm) 编译(debug) v2
qt
clint4561 天前
C++进阶(1)——前景提要
c++
夜悊2 天前
C++代码示例:进制数简单生成工具
c++
郝学胜_神的一滴2 天前
CMake 021: IF 条件判据详诠
c++·cmake
_wyt0012 天前
洛谷 B3930 [GESP202312 五级] 烹饪问题 题解
c++·gesp
玖玥拾2 天前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
桥田智能2 天前
桥田智能 QT-650S:面向白车身焊装的 800kg 重载快换解决方案
开发语言·qt·系统架构
один but you2 天前
constexpr函数
c++
凡人叶枫2 天前
Effective C++ 条款41:了解隐式接口和编译期多态
java·开发语言·c++·effective c++