配置开发环境
- 编译环境:Win10 1903 X64
- 开发工具:MinGW64-7.3.0 x86_64-posix-seh | Perl-5.30
- 可选工具:Python2 | LLVM | 官方编译文档
- 所需源码:qt-everywhere-src-5.12.5
- 编译器GCC >= 4.9或者Visual Studio >= 2012,开发工具Perl >= 5.12
- 编译QtWebEngine需要Python >= 2.7.5
- QDoc从QT 5.11开始使用Clang解析C++代码,构建QDoc文档需要Clang
使用MinGW静态编译
使用在上篇文章中MinGW静态编译的OPENSSL和MariaDB,并把生成的内容分别复制到D:\Qt\LIB\openssl和D:\Qt\LIB\mysql下
1 | # 设置MinGW的开发环境 |
使用MSVC静态编译
OpenSSL静态库 | MYSQL,下载这两个静态库,并把里面的内容分别复制到D:\Qt\VS14\openssl\和D:\Qt\VS14\mysql下
1 | # 设置MSVC的开发环境 |
其他问题
一定要链接路径D:\Qt{LIB|VS14}\mysql\lib和D:\Qt{LIB|VS14}\openssl\lib里面的静态库,链接了动态库会报错
注意32位的编译器不能用64位的库,否则会报错。-sql-mysql代表直接链接,-plugin-sql-mysql作为插件构建
添加Qt库时报qmlscene未安装的警告,复制动态库中的bin/qmlscene.exe和相关DLL到静态库的bin文件夹中即可
在Qt Creator中使用MinGW静态编译的QT库,Visual Studio中使用请自行搜索
1 | 添加Qt版本:工具 -> 选项 -> 构件和运行(Kits) -> Qt Versions -> 添加 -> D:\Qt\Qt5.12.5_MinGW_Static\bin\qmake.exe -> 版本名称:Qt %{Qt:Version} (Qt5.12.5_MinGW_Static) -> Apply |
- 如果软件使用MinGW静态编译后如果还是需要 libgcc_s_xxx.dll 等库,将如下文件修改或添加两行参数即可解决:
1 | # QT源码编译前:将这个文件添加如下两行:D:\Qt\qt-everywhere-src-5.12.5\qtbase\mkspecs\win32-g++\qmake.conf |
- 如果软件使用MSVC静态编译后如还是显示需要 xxx.dll 等库,则将如下文件修改或添加两行参数即可解决:
1 | # QT源码编译前:修改这个文件如下两行:D:\Qt\qt-everywhere-src-5.12.5\qtbase\mkspecs\common\msvc-desktop.conf |
测试
1 | // 新建文件或项目 -> Non-Qt Project -> Plain C++ Application |