• 10622阅读
  • 19回复

[共享]Qt 5.1.0 MinGW x86 / x64 静态编译 基于 TDM-GCC v2 (2013-07-16) [复制链接]

上一主题 下一主题
离线everplus
 

只看楼主 倒序阅读 楼主  发表于: 2013-07-11
— 本帖被 XChinux 设置为精华(2013-07-12) —
关键词: 编译QT5SQL
Qt 5.1.0 MinGW x64 静态编译 基于 TDM-GCC v2版

Qt 5.1.0 MinGW x86 静态编译 基于 TDM-GCC v2版

相对于v1版

1. 加入了已编译好的 libqsqlmysql.a,libqsqlodbc.a,libqqlpsql.a
2. 加入mysql和postgresql运行时需要的dll,在bin目录下,省去装mysql和postgresql的时间
3. 加入libssl.a,libcrypto.a,libz.a,省去自己编译的时间
4. 压缩包包含tdm-gcc编译器

  1. #include <QCoreApplication>
  2. #include <QSqlDatabase>
  3. #include <QDebug>
  4. #include <QStringList>
  5. int main(int argc, char *argv[])
  6. {
  7. QCoreApplication a(argc, argv);
  8. qDebug() << "Available drivers:";
  9. QStringList drivers = QSqlDatabase::drivers();
  10. foreach(QString driver, drivers)
  11. qDebug() << driver;
  12. return a.exec();
  13. }


运行结果

  1. Available drivers:
  2. "QPSQL7"
  3. "QPSQL"
  4. "QMYSQL3"
  5. "QMYSQL"
  6. "QODBC3"
  7. "QODBC"
  8. "QSQLITE"


如有什么问题请反馈

离线彩阳

只看该作者 1楼 发表于: 2013-07-12
TDM-MinGW和MinGW比起来有哪些优势呢?
上海Qt开发联盟,热忱地欢迎你的加入!
离线everplus

只看该作者 2楼 发表于: 2013-07-12
TDM默认就是静态连接的,MinGW默认是动态连接的,TDM不需要设置参数,不需要改mkspec,不需要改pro,方便一些
离线maple918

只看该作者 3楼 发表于: 2013-07-12
楼主太伟大了,是不是下载下来直接就可以使用的,要不要设置什么环境的?
还有你发的那个包里面有没有对数据库的静态连接?
离线everplus

只看该作者 4楼 发表于: 2013-07-12
加了 mysql postgresql odbc
包里有安装用的install.bat,能自动配置路径,不过qtcreator的设置要自己来
离线likezyp

只看该作者 5楼 发表于: 2013-07-15
回 楼主(everplus) 的帖子
非常感谢,不过好像迅雷会员也不能下载,不知楼主有没有百度盘什么的那最好了。
离线likezyp

只看该作者 6楼 发表于: 2013-07-15
回 5楼(likezyp) 的帖子
sorry , 过了半天终于下完了。
离线likezyp

只看该作者 7楼 发表于: 2013-07-15
回 楼主(everplus) 的帖子
使用时用哪个编译器,我用mingw64出错了。
离线everplus

只看该作者 8楼 发表于: 2013-07-15
离线likezyp

只看该作者 9楼 发表于: 2013-07-16
回 8楼(everplus) 的帖子
非常感谢!!!我试一试
离线realfan

只看该作者 10楼 发表于: 2013-07-18
赞!
能否把编译过程分享一下
离线maple918

只看该作者 11楼 发表于: 2013-07-20
我使用的是“Qt 5.1.0 MinGW x86 静态编译 基于 TDM-GCC v2版”,我想测试一下能支持的数据库时遇到了如下错误:

我已经装好了mysql数据库了,请问楼主怎么解决?
离线everplus

只看该作者 12楼 发表于: 2013-07-25
回 11楼(maple918) 的帖子
把 bin 目录下的 libmysql.dll ,libpq.dll , libintl.dll 拷贝一份到 lib 目录下
离线maple918

只看该作者 13楼 发表于: 2013-07-25
谢谢楼主,按照楼主的方法,成功编译!
但是还是有个问题,编译后的程序只有3.9M,双击运行会报错。提示缺少以下dll文件:libeay32.dll,libintl.dll,libmysql.dll,libpq.dll,ssleay32.dll,将以上5个文件复制到编译后的*.exe文件所在的目录后,双击正常运行。
运行效果如下图:
离线everplus

只看该作者 14楼 发表于: 2013-07-30
数据库静态编译只是解决不用带plugin目录,并不会将数据库连接用的dll一起静态编译进去,这个我也没找到办法
离线彩阳

只看该作者 15楼 发表于: 2013-08-05
提一个Bug。
似乎您编译的版本没有完全将openssl静态编译进去。因为我制作的程序一旦离开了QtCreator环境,就无法使用OpenSSL的函数进行解析运行了。
确定您编译的configure中添加了openssl-linked这一句吗?
上海Qt开发联盟,热忱地欢迎你的加入!
离线arlyb

只看该作者 16楼 发表于: 2014-07-01
楼主,不能下载了,能麻烦发个链接吗?我邮箱snsset@vip.qq.com!非常感谢!
离线realfan

只看该作者 17楼 发表于: 2014-07-01
回 arlyb 的帖子
arlyb:楼主,不能下载了,能麻烦发个链接吗?我邮箱snsset@vip.qq.com!非常感谢! (2014-07-01 20:04) 

http://yunpan.cn/QhRCqyXDZpnad (提取码:0822)
离线arlyb

只看该作者 18楼 发表于: 2014-07-01
ok,下载了“realfan”提供的地址,成功安装!这次终于可以静态编译mysql了,虽然还必须带三个文件,但我已经满足了。

离线arlyb

只看该作者 19楼 发表于: 2014-07-01
我试了下,没有webkit,如何实现webkit的静态,还请楼主指教。
快速回复
限100 字节
 
上一个 下一个