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

原文地址:https://www.cnblogs.com/marklove/p/15708238.html