一、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中创建动态库步骤
- 右键新建项目,选择创建C++库
按照步骤进行下一步即可。
也可以参考博客:Qt QMake详解
https://www.cnblogs.com/li-peng/p/3844614.html
今天的文章Qt QMake详解分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/72758.html