使用Qt 6创建第一个CMAKE项目

5 篇文章 0 订阅

1. 创建一个普通C++项目

新建一个文件夹test用于本次项目的测试,新建两个文件分别为CMakeLists.txtmain.cxx

  • CMkeLists.txt
cmake_minimum_required (VERSION 3.15)

project(Test LANGUAGES CXX)

add_executable(${PROJECT_NAME} main.cxx)

  • main.cxx
#include <iostream>

int main()
{
    std::cout << "hello world." << std::endl;
    return 0;
}

使用Qt打开项目选中CMakeLists.txt 注意:Qt 5.15以下版本的Qt需自行安装CMake 按Ctrl+R点击编译运行即可看到hello world已经在控制台正常的打印,说明我们的CMake项目已经构建成功。

2. 创建一个Qt项目

  • CMakeLists.txt更改如下
cmake_minimum_required (VERSION 3.15)

project(Test LANGUAGES CXX)

set(CMAKE_INCLUDE_CURRENT_DIR ON)

find_package(Qt6 COMPONENTS Widgets REQUIRED)

add_executable(${PROJECT_NAME} main.cxx)

target_link_libraries(${PROJECT_NAME} Qt6::Widgets)

  • main.cxx更改如下
#include <QApplication>
#include <QLCDNumber>
#include <QTimer>
#include <QDateTime>

int main(int argc,char *argv[])
{
    QApplication a(argc,argv);

    QLCDNumber lcd;
    QTimer t;
    QObject::connect(&t,&QTimer::timeout,[&lcd](){
        lcd.display(QDateTime::currentDateTime().toString("hh:mm:ss"));
    });
    t.start(1000);
    lcd.setDigitCount(8);
    lcd.display(QDateTime::currentDateTime().toString("hh:mm:ss"));
    lcd.resize(280,100);
    lcd.show();

    return a.exec();
}

再次编译运行可以看到我们的数字时钟已经可以正常的显示运行了

3. CMake术语解释

可以看到使用CMake构建Qt项目还是比较简单的,这里对于CMake构建Qt经常会用到的变量做个简单的解释:

  • cmake_minimum_required 用于构建CMake项目CMake最低版本
  • project 项目名称
  • LANGUAGES 项目用于,这里CXX代表使用C++语言
  • CMAKE_INCLUDE_CURRENT_DIR 自动添加当前源码和编译路径到头文件路径
  • CMAKE_AUTOUIC 转换UI文件
  • CMAKE_AUTOMOC 转换MOC文件
  • CMAKE_AUTORCC 转换资源文件
  • CMAKE_CXX_STANDARD 使用C++版本
  • CMAKE_CXX_STANDARD_REQUIRED 为ON时必须指明C++版本
  • find_package 查找包
  • add_executable 编译为可执行文件
  • target_compile_definitions 项目宏定义
  • target_link_libraries 项目依赖库
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值