1. 创建一个普通C++项目 新建一个文件夹test用于本次项目的测试,新建两个文件分别为CMakeLists.txt和main.cxx CMkeLists.txt cmake_minimum_required (VERSION 3.15) project(Test LANGUAGES CXX) add_...
<a href="#1_C_1">1. 创建一个普通C++项目</a> <a href="#2_Qt_28">2. 创建一个Qt项目</a> <a href="#3_CMake_73">3. CMake术语解释</a>
新建一个文件夹test用于本次项目的测试,新建两个文件分别为CMakeLists.txt和main.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项目已经构建成功。
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();
}
再次编译运行可以看到我们的数字时钟已经可以正常的显示运行了
可以看到使用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 项目依赖库
本站主要用于日常笔记的记录和生活日志。本站不保证所有内容信息可靠!(大多数文章属于搬运!)如有版权问题,请联系我立即删除:“abcdsjx@126.com”。
QQ: 1164453243
邮箱: abcdsjx@126.com