Qt发布程序一直被人吐槽。最近尝试了一下编译静态Qt库。参考这篇文章除了耗时,其他很顺利。因为我一直使用mysql。编译完才发现静态库中并没有mysql。如果一开始编译参考这篇文章就可以直接编译好mysql了。

如果你像我一样先编译好了不带mysql的静态库,怎么单独编译静态版本的mysql库呢?像编译dll一样我们青铜是肯定用Qtcreater的。这个过程我参考了一个静态编译sql server的帖子

1 打开Qt安装路径下的源码.例如C:\Qt\Qt5.2.0\5.2.0\Src\qtbase\src\plugins\sqldrivers\mysql.

2 准备一个mysql server的安装包

3 将上一步中准备的安装包中的库添加到工程中,并留意一下TARGET,和插件名字。

Qt creater手动编译静态mysql库

4 C:\Qt\Qt5.6.2\5.6\Src\qtbase\plugins\sqldrivers路径中有编译好的4个文件,将其拷贝到你的静态库中的lib目录。

例如C:\Qt\5.6.0_MinGW_static\lib,然后打开prl文件。修改其中的路径

Qt creater手动编译静态mysql库

5 编译动态库时候说过不同版本的mysql里面包含不同的libmysql.dll, 不同的libmysql.dll必须和配套的qsqlmysqld.dll qsqlmysql.dll一起才能正常工作.。同理有了静态版本的插件,自然也要静态版本的mysql库。所以你的工程需要一些特殊配置。

Qt creater手动编译静态mysql库

在工程中添加插件库的名字。并且引用mysql的静态库。

Qt creater手动编译静态mysql库

在使用时,添加引用声明。如此,可以愉快的脱裤裸奔连接mysql了。

相关文章:

  • 2021-05-13
  • 2022-12-23
  • 2022-01-20
  • 2022-01-07
猜你喜欢
  • 2021-06-15
  • 2022-12-23
  • 2022-12-23
  • 2022-01-12
  • 2021-07-17
  • 2021-05-06
相关资源
相似解决方案