C++程序执行过程:
预处理:对源程序进行宏代替,条件编译,头文件展开,去除注释;
编译:词法分析、语法分析,语义分析以及优化后产生汇编代码文件;(编译器)
汇编:将汇编代码翻译成机器指令的过程,得到目标文件,windows下是.obj目标文件,Linux下是.o目标文件;
链接:将所有相关文件(库文件,源文件等)链接到一起生成可执行的二进制文件(.exe)。
本文福利,莬费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击莬费领取↓↓
以gcc为例的指令:
预处理:g++ -E test.cpp -o test.i
编译:g++ -S test.i -o test.s
汇编:g++ -c test.s -o test.o
链接:g++ test.o -o test.exe
一般情况,可以直接使用g++ test.cpp -o test就可以生成可执行程序。
常见编译器:
GUN Compiler Collection(GCC) GC,是大多数类Unix(如Linux、BSD、Mac OS X等)的标准编译器,Windows下的编译环境MingW的核心组成是GCC;
Microsoft C(MS C/MSVC),微软Windows平台Visual Studio自带的C/C++编译器;
Borland Turbo C(Turbo C)
Qt基本模块:提供Qt在所有平台上的基本功能。
Qt附件模块:实现一些特定功能的提供附加价值的模块。
增值模块:单独发布的提供额外价值的模块或工具。
技术预览模块:一些处于开发阶段,但是可以作为技术预览使用的模块。
Qt工具:帮助应用程序开发的一些工具。
示例:添加ffmpeg库
在.pro文件中添加:
INCLUDEPATH += $$PWD/ffmpeg/include //头文件包含目录
LIBS += -L$$PWD/ffmpeg/lib/ -lavcodec -l avdevice -lavfilter -lavformat //-L库文件目录 -l库文件
DEPENDPATH += $$PWD/ffmpeg/lib //lib库目录
(工具-选项-构建和运行-构建套件(Kit))
包含众多构建时会用到的工具的工具箱。
Qt version:构建时使用的qmake的版本。QMake可以用于生成Makefile以及各种工程文件,还可以生成VS可以使用的项目文件等。它可以自动解决依赖关系,不用手工写Makefile。而且它是跨平台的。
地址:qt安装目录的bin文件夹下的qmake.exe
编译器:编译C++语言。例入MinGW中的g++,VS中的msvc。
地址:MinGW安装路径下的g++.exe
注:如果你安装的是MinGW版本的qt,那就选择MinGW中的g++。如果是msvc版本的qt,那就选择vs下的msvc。MinGW版本和msvc版本的qt是不互通的,所有要选择对应版本编译器。
Debugger:调试器,有cdb,gdb等。
与编译器一致即可,g++则用gdb,msvc则用cdb。
地址:MinGW安装路径下的gdb.exe
CMake:一个跨平台的安装(编译)工具(这点类似QMake),可以用简单的语句来描述所有平台的安装(编译过程)。
组合套件:选择构建套件(Kit)页,点击添加,然后设置套件名称,按照上述配置顺序添加工具,其他默认即可。
工具-选项-版本控制:添加git配置:
附加在系统PATH之前:git安装目录的bin文件夹路径
项目结构概述:
一个工程编译连接规则是放于Makefile文件中的,qmake是用于在qtcreate下生成Makefile文件的工具,makefile用于描述了整个工程的编译、源码与源码之间如何关联、依赖连接等规则,构建就是按照Makefile定义的规则进行编译生成exe文件,运行就是直接运行exe文件,清除只留下exe文件。
文章转自博客园(格子叶):QT-Qt Creator项目概述(四)
本文福利,莬费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击莬费领取↓↓