1.下载Qt源码
https://download.qt.io/archive/qt/5.15/5.15.2/single/
2.Qt源码编译
1.编译的前的基础了解
目标platforms(平台),编译静态库或者动态库,skip某个功能模块等选项
2.源码下载
两种方式:
1.直接下载,下载地址:http://download.qt.io/archive/qt/
2.git clone Qt源码,仓库地址:https://code.qt.io/qt/qt5.git。
推荐使用git克隆的方式,这样在编译生成目标库时,你可以通过git
清楚的了解到文件变化情况。
git clone步骤:
1.git clone
https://code.qt.io/qt/qt5.git。
2.cd qt5。
3.git checkout 版本。
4.git submodule update --init --recursive。
3.配置编译选项
1.cd 下载的Qt源码目录
2.执行configure -prefix E:\QtSource\build -release -opensource -static -force-debug-info -opengl dynamic -platform win32-msvc -c++std c++11 -skip qtmultimedia -skip qtsensors -skip qtwebengine -skip qtgamepad -nomake examples -nomake tests -mp -skip qtlocation -skip qtserialbus -confirm-license命令配置编译选项
4.configure参数说明
-prefix 生成目标库的目录
-release 生成release版本 -debug 生成debug版本 -debug-and-release生成debug和release版本
-opensource 编译开源版 -commercial 编译商业版 (参数可选)
-static 生成静态库lib文件 -shared 生成动态库dll文件 (参数可选,默认是shared)/*** 注:静态库与动态库区别是在生成目标文件的链接方式上,静态库采用静态链接,在生成的目标文件(如.exe文件)中会包含库文件代码,而动态库在程序编译时并不会被连接到目标代码中,而是在程序运行时才被载入。***/
-force-debug-info 强制生成调试信息 (参数可选)/*** 这个参数是让Qt release版本也生成.pdb文件。这个文件有什么作用呢?它就是我们在release版本下设置了异常捕获信息函数,打印出错堆栈信息所必须的文件。如果程序没用开启异常捕获选项,是不需要开启这个参数的。***/
-opengl dynamic 指定opengl库 (参数可选) /*** 关于这个参数说明请参考doc.qt.io/qt-5/windows-requirements.html ***/
OpenGL(全写Open Graphics Library)是指定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于三维图像(二维的亦可),是一个功能强大,调用方便的底层图形库。
OpenGL™ 是行业领域中最为广泛接纳的 2D/3D 图形 API,其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。OpenGL™ 是独立于视窗操作系统或其它操作系统的,亦是网络透明的。在包含CAD、内容创作、能源、娱乐、游戏开发、制造业、制药业及虚拟现实等行业领域中,OpenGL™ 帮助程序员实现在 PC、工作站、超级计算机等硬件设备上的高性能、极具冲击力的高视觉表现力图形处理软件的开发。
-platform win32-msvc 目标库运行平台
-skip 跳过该模块
-nomake 不编译该模块
-mp 启动多核编译
注:-skip和-nomake都可省略,但是-skip qtwebengine这个参数不能省略,qtwebengine模块有需要依赖的库,这里不跳过编译会失败。
5.make && make install
等待configure命名执行完成后,输入make开始编译,如果结果没有错误,输入make install等待结束,完成。