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

目录

  • 1. 创建一个普通C++项目
  • 2. 创建一个Qt项目
  • 3. CMake术语解释

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 

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 
#include 
#include 
#include 

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 项目依赖库

你可能感兴趣的:(Qt,C++,c++,cmake,qt)