zoukankan      html  css  js  c++  java
  • cmake qt hello word

    cmake 参考自
    CMakeLists中的add_definitions()函数
    cmake中add_definitions的用法

    mainqt.cpp

    #include <QApplication>
    #include <QLabel>
    
    int main(int argc, char **argv)
    {
        QApplication app(argc, argv);
        QString a= "我是汉字";
        QLabel label(a);
        label.show();
        return app.exec();
    }
    
    

    CMakeLists.txt

    #cmake版本
    cmake_minimum_required(VERSION 3.5.1)
    
    #项目名称
    project(Minesweeper)
    
    #让cmake自动去寻找Qt5
    #FIND_PACKAGE(Qt5 COMPONENTS Widgets REQUIRED)
    find_package(Qt5 COMPONENTS Core Qml Quick LinguistTools REQUIRED)
    find_package(Qt5Widgets REQUIRED)
    find_package(Qt5Core REQUIRED)
    find_package(Qt5Gui REQUIRED)
    find_package(Qt5SerialPort REQUIRED)
    find_package(Qt5Network REQUIRED)
    
    #采用C++11标准
    set(CMAKE_CXX_STANDARD 11)
    
    #添加所有的源文件
    SET(Minesweeper_SOURCES 
    	mainqt.cpp	
    )
    
    #这些生成的中间文件都会在build目录下,这样的话,编译器则不能定位由uic程序产生的诸如_ui_mainwindow.h等文件。所以,我们需要把build目录添加到包含目录中
    INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
    # 有些项目会动态生成头文件,项目中需要引入它,因此需要将output目录也include进来
    # 等同于INCLUDE_DIRECTORY(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
    set(CMAKE_INCLUDE_CURRENT_DIR ON)
    
    #生成可执行文件
    ADD_EXECUTABLE(Minesweeper 
    	${Minesweeper_SOURCES} 
    	${Minesweeper_HEADERS_MOC} 
        ${Minesweeper_FORMS_HEADERS}
    	${Minesweeper_RESOURCES_RCC} 
    )
    
    #为target添加需要链接的共享库
    TARGET_LINK_LIBRARIES(Minesweeper ${Qt5Widgets_LIBRARIES})
    

    CuteCom.pro

    QT       += core gui
    greaterThan(QT_MAJOR_VERSION, 4):{
      QT += widgets
      CONFIG += c++11
    }
    
    TARGET = Minesweeper
    TEMPLATE = app
    
    DEFINES += ADD_TIME_TO_DATA_BEFORE_WRITE_LOG_FILE
    
    
    SOURCES += mainqt.cpp
    
    HEADERS  += mainwindow.h \
        controlpanel.h \
        settings.h \
        devicecombo.h \
        serialdevicelistmodel.h \
        statusbar.h \
        sessionmanager.h \
        datadisplay.h \
        datahighlighter.h \
        searchpanel.h \
        timeview.h \
        ctrlcharacterspopup.h \
        plugin.h \
        pluginmanager.h \
        macroplugin.h \
        macrosettings.h \
        netproxyplugin.h \
        netproxysettings.h \
        counterplugin.h
    
    
    RESOURCES += \
        resources.qrc
    
    DISTFILES += \
        qt.astylerc
    
    RC_ICONS = images/cutecom.ico
    INCLUDEPATH += /usr/lib/gcc/x86_64-linux-gnu/9/include
    
    
  • 相关阅读:
    关于Ajax中this失效
    添加时间周期一年半年季度
    回车事件
    alt与title
    关于checked="checked"却不显示选中的“对勾”
    正则表达式的使用
    关于JQ 查找不到对象的clientHeight,
    Mysql笔记之 -- 开启Mysql慢查询
    Mysql笔记之 -- 小试MYSQL主从配置
    Linux系统学习笔记之 1 一个简单的shell程序
  • 原文地址:https://www.cnblogs.com/marklove/p/15708238.html
Copyright © 2011-2022 走看看