QT 设置可执行文件图标

QT 设置可执行文件图标

cmake与qmake的区别

  • qmake 是为 Qt 量身打造的,使用起来非常方便
  • cmake 使用上不如qmake简单直接,但复杂换来的是强大的功能
  • 内置的 out-of source 构建。(目前QtCreator为qmake也默认启用了该功能,称:shadow build)
  • 为各种平台和场景提供条件编译,可处理多个可执行文件情况,和很好配合 QtTest 工作

cmake与qmake如何抉择

Using CMake to Build Qt Projects 一文中说:

对简单的Qt工程,采用 qmake
对复杂度超过 qmake 处理能力的,采用 cmake
尽管如此,如果简单Qt的工程都不知道怎么用 cmake 构建,复杂的工程,就更不知道如何使用 cmake 了。

简单的 Qt 程序

#include <QtCore/QCoreApplication>
#include <QtCore/QDebug>
int main(int argc, char** argv)
{
   
   
    QCoreApplication app(argc, argv);
    qDebug()<<"hello qt!";
    app.exec();
}

qmake编译

qmake 需要一个 .pro 文件:

CONFIG += qt
QT -= gui
SOURCES += main.cpp

因为我们需要 Qt的库和头文件,所以需要 CONFIG += qt 。
这是默认项,可直接去掉该行
启用qt后,可以通过 QT -= gui 来进一步细调我们需要的模块
默认是 core gui。我们不需要gui模块,故去掉。

cmake编译

PROJECT(example)
FIND_PACKAGE(Qt4 REQUIRED)
SET(QT_DONT_USE_QTGUI TRUE)
INCLUDE(${QT_USE_FILE})
ADD_EXECUTABLE(example main.cpp)
TARGET_LINK_LIBRARIES(example ${QT_LIBRARIES})

FIND_PACKAGE 来启用 Qt4
默认使用了core 和 gui,故手动禁用 QTGUI
这两行可以直接使用 FIND_PACKAGE(Qt4 COMPONENTS QtCore REQUIRED),未指定的模块将被禁用
包含一个CMake为Qt提供的配置文件,${QT_USE_FILE}变量是一个文件名
添加可执行程序目标
链接到 Qt 的库

常规Qt程序

main.cpp
mainwindows.ui
mainwindows.h
mainwindows.cpp

手动编译

如果手动编译的话:
mainwindow.ui 需要使用 uic 预处理

uic mainwindow.ui -o ui_mainwindow.h

mainwindow.h 需要 moc 预处理

moc mainwindow.h -o moc_mainwindow.cpp

调用编译器进行编译

g++
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值