chase-hung

导航

 

环境

系统:Windows 10专业版
CMake版本:3.31.5
Visual Studio版本:2019
Qt版本:5.15.2

准备工作

1.安装CMake,并确保CMake的运行程序添加到环境变量中;
2.安装Visual Studio 2019,并确保勾选了“使用C++的桌面开发”;
3.安装通信灵码IDE,并登录(非必须,可以用Visual Studio Code代替,或直接用CMD);
4.安装Qt5,并记住其目录。

操作步骤

1.在“CMake-Qt程序编译”的基础上,在“CMake”目录下,新建一个名为“Widget”的文件夹,然后在“Widget”文件夹中,添加下面三个文件:

Widget.cmake
# 使用GLOB_RECURSE命令递归查找当前目录下所有.h头文件,存储到HEADER_WIDGETS变量中
file(GLOB_RECURSE HEADER_WIDGETS "${CMAKE_CURRENT_LIST_DIR}/*.h")
# 使用GLOB_RECURSE命令递归查找当前目录下所有.cpp源文件,存储到SRC_WIDGETS变量中
file(GLOB_RECURSE SRC_WIDGETS "${CMAKE_CURRENT_LIST_DIR}/*.cpp")
ModuleWidget.h
// 和CMakeLists.txt一个目录
#include <QWidget>  // 包含Qt基础窗口部件类

// 自定义模块窗口部件类,继承自QWidget
class ModuleWidget : public QWidget
{
    Q_OBJECT  // 启用Qt的信号槽机制

public:
    // 构造函数,parent参数指定父对象,默认为nullptr
    ModuleWidget(QWidget* parent = nullptr);

};
ModuleWidget.cpp
// 和CMakeLists.txt一个目录
#include <QWidget>  // 包含Qt基础窗口部件类

// 自定义模块窗口部件类,继承自QWidget
class ModuleWidget : public QWidget
{
    Q_OBJECT  // 启用Qt的信号槽机制

public:
    // 构造函数,parent参数指定父对象,默认为nullptr
    ModuleWidget(QWidget* parent = nullptr);

};

添加完成,目录结构如下图所示:

2.修改CMakeLists.txt文件,内容如下:

CMakeLists.txt
cmake_minimum_required(VERSION 3.15.0)

project(study_cmake)

set(CMAKE_AUTOMOC ON)

find_package(Qt5 COMPONENTS Widgets REQUIRED)

include(Widget/Widget.cmake)

add_executable(${PROJECT_NAME} main.cpp ${SRC_WIDGETS} ${HEADER_WIDGETS})

target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Widgets)

target_include_directories("${PROJECT_NAME}" PRIVATE ${CMAKE_CURRENT_LIST_DIR}/Wid“moget)

3.修改MainWidget.cpp,修改后内容如下:

MainWidget.cpp
// 和CMakeLists.txt一个目录
#include "MainWidget.h"      // 包含MainWidget类声明
#include <QDebug>            // 包含调试输出功能
#include "ModuleWidget.h"    // 包含ModuleWidget类声明

// MainWidget构造函数实现
MainWidget::MainWidget(QWidget* parent)
    : QWidget(parent)  // 调用父类QWidget的构造函数
{
    // 输出当前函数名到调试信息
    qDebug() << __FUNCTION__;
    // 设置窗口大小为100x100像素
    this->resize(100, 100);

    // 创建ModuleWidget实例,this作为父对象
    ModuleWidget* pWidget = new ModuleWidget(this);
}

4.点击菜单栏中的“终端”->“新建终端”,然后在命令行中分别执行下面两条命令(等第一条执行完,再执行第二条):

//终端路径为CMakeLists.txt所在目录
//其中CMAKE_PREFIX_PATH的值请修改成实际安装的目录
cmake -S . -B WIN -DCMAKE_PREFIX_PATH=C:\Qt\5.15.2\msvc2019_64\lib\cmake

cmake --build .\WIN\   

执行成功,如下图所示:

posted on 2025-12-07 20:00  chase_hong  阅读(4)  评论(0)    收藏  举报