You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派Ubuntu22.04中Qt6构建报错:Unknown CMake command 'qt_standard_project_setup'

问题原因

Ubuntu 22.04官方软件源中提供的Qt6版本为6.2.x,而qt_standard_project_setup()是Qt 6.3及以上版本才新增的CMake辅助命令,你的环境里的Qt版本不支持这个命令,因此会报错。

解决方案

有两种可行的处理方式:

方式一:修改CMakeLists.txt适配Qt 6.2

放弃使用qt_standard_project_setup(),改用Qt 6.2兼容的写法,手动启用Qt的自动代码生成(MOC、UIC、RCC),或者使用qt_add_executable命令。

写法1:启用自动代码生成

修改后的CMakeLists.txt如下:

cmake_minimum_required(VERSION 3.22)

project(test LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

# 启用Qt的MOC、UIC、RCC自动处理
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)

find_package(Qt6 REQUIRED COMPONENTS Widgets Core) 

add_executable(test 
    main.cpp
    mainwindow.cpp
    mainwindow.h
    mainwindow.ui
)

target_link_libraries(test PRIVATE
    Qt6::Widgets
)

写法2:使用qt_add_executable命令

qt_add_executable在Qt6.2中已存在,它会自动处理MOC、UIC等步骤,替代add_executable即可:

cmake_minimum_required(VERSION 3.22)

project(test LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

find_package(Qt6 REQUIRED COMPONENTS Widgets Core) 

qt_add_executable(test 
    main.cpp
    mainwindow.cpp
    mainwindow.h
    mainwindow.ui
)

target_link_libraries(test PRIVATE
    Qt6::Widgets
)

方式二:升级Qt到6.3及以上版本

如果一定要使用qt_standard_project_setup(),需要手动安装更高版本的Qt:

  • 下载Qt官方在线安装器(适配arm64架构),选择安装Qt 6.3或更高版本;
  • 构建项目时,确保CMAKE_PREFIX_PATH指向新安装的Qt路径,比如:
    cmake .. -DCMAKE_PREFIX_PATH=/path/to/your/qt6.3+/arm64
    

内容的提问来源于stack exchange,提问作者RedBox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 21:23:36