一,首先静态编译整个QT源码或者使用别人编译的静态组件,参考编译命令:
configure -confirm-license -opensource -platform win32-msvc -debug-and-release -static -static-runtime -force-debug-info -opengl dynamic -prefix "./build" -qt-sqlite -qt-pcre -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -nomake tests -no-compile-examples -nomake examples
二,需要配置mysql的查找路径:
编译使用:
C:/Users/Administrator/source/repos/mysql-5.5.55-win32
运行使用:
https://downloads.mysql.com/archives/c-c/
注意:编译时报错需要找到 mysql_config,有两个来源安装 perl5.18.2 (至少5.14版本)是批处理,一个是mysql服务包里面的脚本,还必须保证架构一致X86或者X64,目前使用X86
C:\strawberry\c\bin\mysql_config.bat D:\app_win\mysql-5.5.55-win32\bin\mysql_config.pl
三,使用检查qmake版本,进入源码路径:
D:/Qt/Qt5.12.12-Windows-x86-VS2017-15.9.57-static/bin/qmake -version dir D:\Qt\Qt5.12.12-Windows-x86-VS2017-15.9.57-static\plugins\sqldrivers cd F:\qt-everywhere-src-5.12.12\qtbase\src\plugins\sqldrivers
四,初始化系统编译器环境变量:
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat"
五,设置临时使用路径:
SET PATH=%PATH%;D:\app_win\mysql-5.5.55-win32\bin;C:\strawberry\c\bin
六,生成编译脚本
# qmake "CONFIG+=release" -o Makefile "INCLUDEPATH+=d:/mysql/include" "LIBS+=d:/mysql/lib/libmysql.a" mysql.pro D:/Qt/Qt5.12.12-Windows-x86-VS2017-15.9.57-static/bin/qmake -- MYSQL_PREFIX=D:/app_win/mysql-connector-c-6.1.11-win32 D:/Qt/Qt5.12.12-Windows-x86-VS2017-15.9.57-static/bin/qmake -- MYSQL_INCDIR=D:/app_win/mysql-connector-c-6.1.11-win32/include MYSQL_LIBDIR=D:/app_win/mysql-connector-c-6.1.11-win32/lib D:/Qt/Qt5.12.12-Windows-x86-VS2017-15.9.57-static/bin/qmake -- MYSQL_INCDIR="D:/app_win/mysql-connector-c-6.1.11-win32/include" MYSQL_LIBDIR="D:/app_win/mysql-connector-c-6.1.11-win32/lib"
七,编译:
nmake