Qt QMake详解

一、QMake是什么

qmake 是由Qt提供的一个编译打包工具。

二、为什么要学习QMake

学会手动编译,平台移植,快速查找编译错误。

三、QT程序编译经历的步骤

  • 编译pro生成makefile(由qmake完成)。
  • jom或者make编译makefile(生成界面源码,uic.exe widget.ui -o ui_widget.h;生产信号槽代码,moc.exe widget.h moc_widget.cpp)。

四、从代码到执行程序执行经历的步骤

  • 预处理-头文件加载和宏生成cpp。
  • 编译-cpp到.o或者.obj。
  • 链接 so lib o obj res a。(包含静态链接和动态链接)

静态链接:可以把整个隐藏掉,会把库所有用到的函数一个个复制到你的exe当中,造成编译速度非常慢。
动态链接:只是拷贝了一个个函数的地址,并不会拷贝源码。

  • 执行 exe dll so。

五、配置vs和qmake环境变量执行qmake生成makefile

  • 创建pro
  • 配置qmake 和 jomx 执行路径
  • 导入vs开发环境

六、qmake引入Qt库创建窗口

1. 加载QT内部库

QT += widgets + 空格 + 模块名(库名)
作用:用来配置Qt系统的库,也包含头文件路径

具体使用哪个库,可通过qt助手查看
加载Qt 内部库 (例如:QT += core gui,去掉对某个库的加载:QT -= gui)

2. a.exec()的作用

a.exec():所有的消息,通讯,事件,都在此循环处理消息队列中,是阻塞的,直到整个程序退出

3. 头文件引用

  • INCLUDEPATH += …/…/include + 空格 + 可以加多个路径
message($$PWD)	//可以在项目配置文件中打印内容
INCLUDEPATH += $$PWD/../../include	//相对项目路径

4. 库引用和库路径指定

  • LIBS += -L"库路径" -l库名(LIBS += -L"…/…/lib" -lopencv_world320)
  • DESTDIR += …/…/bin(输出路径指定)
  • TARGET = 新的可执行文件名(指定输出可执行文件名)

七、QT创建动态库

动态库:Linux或是mac下是 .so,Windows下除了有lib文件还有dll文件,代码中需要导出
静态库:Linux或是mac下是 .a,Windows下只有一个lib文件,代码当中不需要导出

1. 在Qt Creator中创建动态库步骤

  • 9
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值