首页 > 其他分享 >Qt6学习笔记01-CMakeLists工程建立

Qt6学习笔记01-CMakeLists工程建立

时间:2022-12-08 21:00:28浏览次数:56  
标签:Qt6 FILES CMakeLists 01 CMAKE SOURCE set main include

最近需要使用Qt,于是随手将一些零散点滴内容记录下来备忘。

首先第一步,就是建立CMakeLists工程。

例子如下:

cmake_minimum_required(VERSION 3.22)

project(otbox)

set(CMAKE_C_STANDARD 99)
set(CMAKE_CXX_STANDARD 14)

#包含当前目录
set(CMAKE_INCLUDE_CURRENT_DIR ON)

#调用moc,uic,rcc编译qt
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)

set(QT_VERSION 6)

#设置qt的cmake目录
#这个目录包含了所有qt模块编译所需的cmake文件
set(CMAKE_PREFIX_PATH /usr/local/opt/qt6/bin/)

find_package(Qt6 COMPONENTS
        Core
        Gui
        Widgets
        REQUIRED)

include_directories(${PROJECT_SOURCE_DIR}/include)

#包含需要编译的文件
set(SOURCE_FILES main.cpp )
#set(RESOURCE_FILES main.qml)
#set(QRC_FILES qml.qrc)

#add_executable(${PROJECT_NAME} WIN32 ${SOURCE_FILES} ${RESOURCE_FILES} ${QRC_FILES})

add_executable(${PROJECT_NAME} ${SOURCE_FILES} ${RESOURCE_FILES} ${QRC_FILES})


target_link_libraries(${PROJECT_NAME}
        Qt::Core
        Qt::Gui
        Qt::Widgets
        )

 

main.cpp内容:

 1 #include <iostream>
 2 #include <QApplication>
 3 #include <QPushButton>
 4 #include <QObject>
 5 
 6 
 7 int main(int argc, char * argv[]) {
 8     std::cout << "helelo " << std::endl;
 9 
10     QApplication a(argc, argv);
11     QPushButton button("click me", nullptr);
12     button.resize(100, 80);
13     button.show();
14     return QApplication::exec();
15 }

编译可以看见hello界面

 

标签:Qt6,FILES,CMakeLists,01,CMAKE,SOURCE,set,main,include
From: https://www.cnblogs.com/oilamp/p/16967285.html

相关文章

  • 011.开发RBACModel层(了解某一个用户能使用那些功能)
    1.增加rbac.xml<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dt......
  • Selenium01-介绍
    什么是功能测试和黑盒测试Functionaltesting(功能测试),也称为behavioraltesting(行为测试)或UI层测试根据产品特性、操作描述和用户方案,测试一个产品的特性和可操作行为......
  • 2012值得关注的若干技术专题归纳推荐
     2012值得关注的若干技术专题,在ITPUB上有十分不错的归纳,找其来十分方便,资料也齐全,推荐下,下面归纳下:​​​http://topic.it168.com/factory/linu......
  • Web前端面试真题(算法篇):001篇
    OverridetheentrypointofanimageIntroducedinGitLabandGitLabRunner9.4.Readmoreaboutthe extendedconfigurationoptions.Beforeexplainingtheav......
  • 郭东白的架构课00017
    你好,我是郭东白。在模块导读中我们提到了,架构师在架构活动中所发挥的关键作用主要有四个:建设共识、控制风险、保障交付和沉淀知识。这也是架构师创造价值所必备的四项基本......
  • 郭东白的架构课00016
    你好,我是郭东白。上个模块我们讲了架构师的六条生存法则,提到了架构师的重要工作就是组织架构活动和制定架构方案。那么具体来说,架构活动的完整过程是什么呢?架构师一般会面......
  • 郭东白的架构课00019
    你好,我是郭东白。在第16、17讲,我们讲解了架构师在架构活动中要起的作用,主要有达成共识、控制风险、保障交付和沉淀知识这四个方面。这是从架构师创造价值的维度来拆解的。......
  • 郭东白的架构课00018
    你好,我是郭东白。架构师在架构活动中主要有四个作用,分别是建设共识、控制风险、保障交付和沉淀知识。上节课我们讲了前两个,这节课就来讲保障交付和沉淀知识这两个。保障交......
  • django 01 web框架推导与django介绍
    web框架推导#1.web框架是基于互联网的web服务端连接前端与数据库的中间介质#2.学习web框架必备知识:1.socket服务端代码2.HTTP协>>>:四大特性#3.w......
  • vs2017中解决“调试模式下无法修改代码”的问题
    …不是在启用“编辑并继续”的情况下编译的。请确保使用程序数据库的“编辑并继续(/ZI)”选项编译此文件。相信在编程中你也会遇到这种问题,不要慌,这篇博客将帮你彻底解决......