码迷,mamicode.com
首页 > 数据库 > 详细

Qt for Windows:Qt 5.5 MinGW 静态编译版本制作带Mysql

时间:2016-04-19 14:26:43      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:mysql   qt   windows   静态编译   下载地址   

看到网上很多人都在求Qt静态编译带Mysql,包括我自己在内也是google了N多资料才搞定,正所谓滴水之恩当涌泉相报,没有网上各位网友的帖子我至今还是懵懵懂懂,所以这里我就整理下,希望对大家有所帮助


使用环境:win10Pro  配置时关闭了杀软,包括win Defender

流程规划:

  1. 下载安装必须组件  qt5.5 perl python mysql  etc.

  2. 安装qt 5等组件Mysql库的转换

  3. 编译安装

  4. 配置

  5. 使用


  • 安装 

  1.  Qt5安装包 这里Mingw版本:

下载地址:http://download.qt.io/official_releases/qt/5.5/5.5.1/qt-opensource-windows-x86-mingw492-5.5.1.exe

 安装过程很简单,有一点是安装的时候把source勾选上就好。技术分享

  • 编译器配置

打开C:\Qt\Qt5.5.0\5.5\mingw492_32\mkspecs\win32-g++文件夹编辑qmake.conf

找到 QMAKE_LFLAGS 和 QMAKE_LFLAGS_DLL 然后将后面都改成 -static  这样静态编译后生成的文件就不需要动态依赖库了

技术分享


 2. 然后是Perl和Python的安装:

地址:http://downloads.activestate.com/ActivePerl/releases/5.20.1.2000/ActivePerl-5.20.1.2000-MSWin32-x64-298557.msi

https://www.python.org/ftp/python/3.4.4/python-3.4.4.msi  

把Python的环境变量(Path)添加好C:\Python27;Perl正常会自动添加,如果没有手动添加环境变量

 3. MySql安装:注意mysql安装不要有空格或中文,因为Qt编译时会出问题

我这里选择安装到D:\Mysql https://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.49-win32.msi 

最后下载两个转换工具reimp和dlltool https://yunpan.cn/cPgMhxUAI29Mm  访问密码 3e31下载后把其放到d:\mysql\lib目录中


  • 编译&准备:

  首先进行Mysql库文件转换,因为Mingw是Linux格式库,而Mysql里的是Windows格式库。

从开始菜单打开 Qt 5.5 for Desktop命令行

技术分享

技术分享

首先切换到Mysql目录:

reimp -d libmysql.lib
dlltool -k -d libmysql.def -l libmysql.a

技术分享

然后如上操作进行转换,转换完成后会生成所需文件libmysql.def  libmysql.a  etc.


切换到源码目录

然后进行Configure技术分享

配置:

Configure.bat -confirm-license -opensource -platform win32-g++ -mp -release -static -prefix "c:\Qt\5.5_static" -qt-sql-mysql -l mysql -I d:\Mysql\include -L d:\Mysql\lib -qt-sql-sqlite -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -no-qml-debug -no-angle -nomake tests -nomake examples -skip qtwebkit -skip qtwebengine

技术分享

编译:

 mingw32-make -s

技术分享

这里是单线程不提示,没办法电脑配置不行所以单线程及不输出,好像这样会快很多  等吧  等吧。。。。。

安装:

mingw32-make install


  • 添加Qt版本: 

 打开Qt Creator -> 工具 -> 选项 -> 构件和运行 -> Qt Versions

技术分享

   设置构建套件:

    技术分享

  • 测试

没什么问题 这个时候就编译完成了  大家可以测试下是否Mysql静态编译成功

运行前把libmysql.dll放到项目生成文件夹下或windows system32里

//.pro 文件里添加QT+=sql
#include <QtCore/QCoreApplication>
#include <QtSQL>
 
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    qDebug() << QSqlDatabase::drivers();
    return a.exec();
}

大功告成。。。

本文出自 “奔跑的驴” 博客,请务必保留此出处http://amgodchan.blog.51cto.com/9521586/1765340

Qt for Windows:Qt 5.5 MinGW 静态编译版本制作带Mysql

标签:mysql   qt   windows   静态编译   下载地址   

原文地址:http://amgodchan.blog.51cto.com/9521586/1765340

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!