首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt -如何获取并编译Mysql驱动程序

问Qt -如何获取并编译Mysql驱动程序
EN

Stack Overflow用户
提问于 2011-06-26 11:04:18
回答 3查看 26.4K关注 0票数 5

我正试图在Qt中开发一个依赖MySql的应用程序。过了一段时间,我认识到我的共享构建没有MySql驱动程序(默认情况下)。谁能说出如何获取、编译它(无论是共享的还是静态的)。

注意:我在Windows平台上使用Qt-4.7.2

编辑:感谢“文斯”。这就是他给=>看的方式。

代码语言:javascript
复制
 1)Open qt-command prompt 

 2)Goto (Qt's installation path)\qt\src\plugins\sqldrivers\mysql
   in my case:
   D:\TempInstallationFolder\Qt\dynamic-New\qt\src\plugins\sqldrivers\mysql

 3)qmake

 4)make 
   or
   mingw32-make (provided your PATH variable contains "(Qt installation path)\mingw\bin")

   ("make" should work if you didn't mess up with path variables. It in turn
    invokes mingw32-make. I messed up this a little bit. So I invoked 
    mingw32-make directly.)

 5)In the above  command you have to indicate the mysql's "lib" path, 
   and "include" path through the compile flag options. Or Add those lines
   in the pro file like below

   INCLUDEPATH += "C:\Program Files\MySQL\MySQL Server 5.1\include"
   LIBS += -L"C:\Program Files\MySQL\MySQL Server 5.1\lib\opt"

就这样。您可以在(qt-安装路径)\qt\plugins\ dlls驱动程序中找到dll。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-27 14:28:19

如果您计划重建连接到MySQL的Qt,现在就可以停止了,您不必这样做!SQL驱动程序是插件(根据定义在运行时动态加载),可以独立编译。

在Qt源树中找到驱动程序源,一些类似于qt/src/plugins/sqldrivers/mysql,然后构建它。这里的游戏是提供适当的MySQL开发头和库(客户端的),以便驱动程序构建!(请注意,如果您是一个窗口,它可能是您需要的32位版本的MySQL客户机,即使您运行的是64位操作系统)。

您可以通过qmake命令提供qmake路径,参考Anton的文章,我亲自复制和更改.pro文件以匹配我的安装.如果需要的话,以后更容易重建。

一旦构建成功,您将拥有一个很好的qsqlmysql.dll,您必须将其复制到用于运行应用程序的$QT_DIR中--基本上类似于$QT_DIR中的qt/plugins/sqldrivers。

票数 14
EN

Stack Overflow用户

发布于 2019-10-22 04:39:19

使用MinGW32 1构建QT5.13,下载MySql C连接器v6.1。

代码语言:javascript
复制
>   Download the MySql Installer from:
>   <https://dev.mysql.com/downloads/installer/>
>   Install C Connector 6.1 (Note the location we will need it later)

  1. 使QT源就绪

代码语言:javascript
复制
>    To build a plugin for QT u need to get its source. You can install it from Maintenance Tool or manually get it from github repository.

  1. Building插件

代码语言:javascript
复制
1. Open MinGW CMD (Windows -> Start Menu -> Programs -> Qt 5.13.1 -> 5.13.1-> MinGW 7.3.0 (32-bit) -> Qt 5.13.1 (MinGW 7.3.0 32-bit) )
2. cd to sqldrivers path in qt source

cd D:\QT\Qt5.13.1\5.13.1\Src\qtbase\src\plugins\sqldrivers

代码语言:javascript
复制
1. Run qmake here. `qmake sqldrivers.pro` (to create qtsqldrivers-config.pri )
2. cd to mysql.

cd D:\QT\Qt5.13.1\5.13.1\Src\qtbase\src\plugins\sqldrivers\mysql

代码语言:javascript
复制
1. Run qmake here. qmake mysql.pro

​

  1. 将插件添加到列表中

成功构建后,您将在以下位置找到qsqlmysql.dll和qsqlmysqld.dll:D:\QT\Qt5.13.1\5.13.1\Src\qtbase\src\plugins\sqldrivers\plugins\sqldrivers

复制qsqlmysql.dll和qsqlmysqld.dll,并将它们放在编译器的插件目录qsqlmysqld.dll中

建筑中的错误?

未定义

  1. 库“mysql”。

文件中的cd D:\QT\Qt5.13.1\5.13.1\Src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro

推荐行QMAKE_USE += mysql

  • Adding库路径和包含路径。

在mysql.pro末尾添加以下内容

LIBS -L'C:/Program (x86)/MySQL/MySQL连接器C 6.1/lib/‘-llibmysql INCLUDEPATH += 'C:/Program (x86)/MySQL/MySQL连接器C 6.1/包括’DEPENDPATH += 'C:/Program (x86)/MySQL/MySQL连接器C

将C:/Program (X86)/MySQL/mySQLConnectorC6.1/lib中的.dll文件添加到.dll

票数 8
EN

Stack Overflow用户

发布于 2020-11-14 15:11:25

准备:在第一个mingw32版本必须安装列表如下

important)

  • Mingw32

  • MariaDB连接器32位(这是已安装的

)

构建:

打开mingw32-make

  • go到"C:\Qt\Qt5.12.9\5.12.9\src\qtbase\src\plugins\sqldrivers“(在我的驱动器中)

  • in mingw32终端>qmake sqldrivers.pro

  • after cd mysql

  • in mingw32终端> qmake "INCLUDEPATH+=D:\\MariaDB\\ConnectorC\\include" "LIBS+=D:\\MariaDB\\ConnectorC\\lib\\libmariadb.lib" mysql.pro

如果遇到"mysql“等错误,请更改mysql.pro文件如下

代码语言:javascript
复制
TARGET = qsqlmysql

HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp
#QMAKE_USE += mysql
INCLUDEPATH +='D://MariaDB//include//mysql'(Check files if there isn't)
DEPENDPATH += 'D://MariaDB//include//mysql'
LIBS += -L'D://MariaDB//lib//libmysql.lib' 
-llibmysql

OTHER_FILES += mysql.json

PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)

然后

  • 在mingw32终端上再做一次
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6483523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档