pra*_*ran 3 c++ mysql database windows qt
我试图在Qt中创建一个依赖MySql的应用程序.一段时间后,我才知道我的共享版本没有MySql驱动程序(默认情况下).任何人都可以说如何进行编译(共享和静态).
注意:我在Windows平台上使用Qt-4.7.2
编辑: 感谢"vrince".这是他表现出来的方式=>我做到了.
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"
Run Code Online (Sandbox Code Playgroud)
而已.您可以在(Qt-installation path)\ qt\plugins\sqldrivers中找到dll
vri*_*nce 12
如果你计划重建链接到MySQL的Qt,你可以停止现在你不必!SQL驱动程序是插件(根据定义在运行时动态加载),可以独立编译.
在Qt源代码树中找到驱动程序源,qt/src/plugins/sqldrivers/mysql然后再构建它.这里的游戏是提供适当的MySQL开发头和库(客户端),以便驱动程序将构建!(请注意,如果您是一个窗口,它可能是您需要的32位版本的MySQL客户端,即使您运行的是64位操作系统).
您可以通过qmake命令提供MySQL路径,参考Anton提供的文章,我个人复制并更改.pro文件以匹配我的安装...如果需要,以后更容易重建.
一旦构建成功,你将有一个很好的,qsqlmysql.dll你必须复制到Qt目录,你用来运行你的应用程序基本上像qt/plugins/sqldrivers$ QT_DIR.
使用 MinGW32 构建 QT5.13 1. 下载 MySql C 连接器 v6.1。
> Download the MySql Installer from:
> <https://dev.mysql.com/downloads/installer/>
> Install C Connector 6.1 (Note the location we will need it later)
Run Code Online (Sandbox Code Playgroud)
2. 准备好 QT 源代码
> 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.
Run Code Online (Sandbox Code Playgroud)
构建插件
打开 MinGW CMD (Windows -> 开始菜单 -> 程序 -> Qt 5.13.1 -> 5.13.1-> MinGW 7.3.0 (32-bit) -> Qt 5.13.1 (MinGW 7.3.0 32-bit) )
cd 到 qt 源中的 sqldrivers 路径
cd D:\\QT\\Qt5.13.1\\5.13.1\\Src\\qtbase\\src\\plugins\\sqldrivers
Run Code Online (Sandbox Code Playgroud)
在这里运行 qmake。qmake sqldrivers.pro(创建 qtsqldrivers-config.pri )
cd 到 mysql。
cd D:\\QT\\Qt5.13.1\\5.13.1\\Src\\qtbase\\src\\plugins\\sqldrivers\\mysql
Run Code Online (Sandbox Code Playgroud)
将插件添加到列表中
成功构建后,您将在以下位置找到 qsqlmysql.dll 和 qsqlmysqld.dll
D:\QT\Qt5.13.1\5.13.1\Src\qtbase\src\plugins\sqldrivers\plugins\sqldrivers
复制 qsqlmysql.dll 和 qsqlmysqld.dll 并将它们放在编译器的插件目录中
D:\QT\Qt5.13.1\5.13.1\mingw73_32\plugins\sqldrivers
构建错误?
未定义库“mysql”。
在文件光盘中
D:\QT\Qt5.13.1\5.13.1\Src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro
表扬一下 QMAKE_USE += mysql
添加库路径和包含路径。
将以下内容添加到 mysql.pro 最后
LIBS += -L'C:/Program Files (x86)/MySQL/MySQL Connector C 6.1/lib/'
-llibmysql
INCLUDEPATH += 'C:/Program Files (x86)/MySQL/MySQL Connector C 6.1/include'
DEPENDPATH += 'C:/Program Files (x86)/MySQL/MySQL Connector C 6.1/include'
Run Code Online (Sandbox Code Playgroud)QSqlDatabase:未加载 QMYSQL 驱动程序
将 C:/Program Files (x86)/MySQL/MySQL Connector C 6.1/lib 中的 .dll 文件添加到 D:\QT\Qt5.13.1\5.13.1\mingw73_32\bin