三个层次分别验证
跳转到“三个层次分别验证”- VS Code 扩展找到 Qt 工具:决定快捷命令是否可用。
- CMake 找到 Qt 包与编译器:决定工程能否生成。
- 编译、链接并运行:验证 Qt 库、编译器 ABI 和运行库匹配。
扩展显示 Qt found 不等于工程已经可编译。原记录使用 qttools、qtconfigure,截图中 Search Mode 是 path,文字又要求切换到 cmake;缺少扩展准确版本,不能据此给所有扩展套同一设置。
Qt 6 Widgets 最小配置
跳转到“Qt 6 Widgets 最小配置”下面适用于桌面 Qt 6 与匹配的本机编译器:
cmake_minimum_required(VERSION 3.21)project(QtExample LANGUAGES CXX)set(CMAKE_CXX_STANDARD 17)set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt6 REQUIRED COMPONENTS Widgets)qt_standard_project_setup()qt_add_executable(QtExample main.cpp)target_link_libraries(QtExample PRIVATE Qt6::Widgets)#include <QApplication>#include <QLabel>
int main(int argc, char **argv){ QApplication app(argc, argv); QLabel label("Qt is ready"); label.resize(240, 80); label.show(); return app.exec();}采用所安装 Qt 提供的 qt-cmake,或在本机构建配置中把 Qt 安装前缀传给 CMake。不要把个人绝对路径直接写进共享 CMakeLists.txt。Qt CMake 入门
旧 Qt 5 工程与交叉编译
跳转到“旧 Qt 5 工程与交叉编译”原笔记的 Qt5_DIR 指向某台机器的 ARM Qt 5.12.9 安装。Qt 5 工程相应使用 find_package(Qt5 ... ) 和 Qt5::Widgets,不能只改路径却继续使用另一版本的包名。
ARM 交叉编译还需要目标工具链、sysroot、目标 Qt 与主机工具之间匹配。仅指定 Qt 包路径不足以完成交叉编译;应使用目标平台的 toolchain 配置。Qt 查找与交叉编译说明
排查顺序
跳转到“排查顺序”先在终端完成 CMake configure 和 build,再让 VS Code 使用同一 preset/kit。切换 Qt 或编译器时使用独立构建目录,避免旧缓存干扰;最后验证程序启动时能找到平台插件。本文未在全部 Qt/编译器组合上实测,需记录自己成功运行的组合。
原始记录
跳转到“原始记录”本笔记由 CSDN 原始记录 的文字与图片重新整理;正文中的代码、适用条件与说明已按本次审读补充。