首页| 论坛| 消息

标题:求问大神,QT6.4.0插件中没有mysql工程文件,怎么编译mysql驱动?
作者:zhuhao461261
日期:2022-11-16 12:42
内容:

如题,本人新手,最近需要在windows系统下使用maria_db数据库,从网上看到很多的方法,都是在目录下面,有一个mysql工程文件,但是,tpbq1data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA8oAAAAfCAYAAAA/dDQ1AAAOPUlEQVR4nO3dX0wbV74H8K+XqJthJVjVVLfBgaxSUOEBRypR6/4B1RRtu8Xa9CFRK6qqRqofyhPBSHnoSyNV0V5dTNgr3fBgqYGkQW1Bq1ZrS7RycUVUlSZqJMwL1LQSBQMPuBHci6fam+TsgzPT8Z+xPf5LyPejRAbP2HPO7xyb+c05M2NaXl4WICIiIiIiIiIAgEkIwUSZiIiIiIiI6L7fVboARERERERERPsJE2UiIiIiIiIiDSbKRERERERERBpMlImIiIiIiIg0mCgTERERERERaRxKfuJ/Q3+FEAKI/4s/KhfG1vwsBFB1+E+obfufMhaXiIiIiIiIqLRSEmUhBGosryOeJt+LZ8S4F/9dJD5GV/9Z3tISERERERERlVjq1GtlGDlLkhxfXsaS3uf3+zEyMgIAkGUZb775JqLRaMbXRKNRnDx5Une9aDSK+vp6mEwm1NbWIhQKqctGRkZQX1+fdRtEtD/Jsoyuri74/f5KF4WSZPtuzlUoFEJjY2PCd/dBkS1Gfr8fXV1dkGU57fKDHJtyK1Z/JSKiB0NKohzPfXNJku9VIk/Oid/vh8lkUv/X1dXh+++/R11dXcLz2h1nu92OaDQKu90On8+nruN2u7G5uam+NtMOSSmEQiHU1taq5UlO5IHERD+5XumMjIygr69P9/XaZYq+vj71AEW55RKDStH2tWwHVJQ468Ux0wGbcjDaj4iIiIiIDqr0I8o5JMn3T1guSyFlWcZrr72WNXHo6+tTd+6dTieEEBBCYHt7G+3t7dje3laf83g8uu/jcDjU9ZL/z87OQpKkotZPj9/vR0dHB65fv65u//r16+jo6FDrGY1G0dbWBq/XCyEEYrEYJicndRO2UCiEubk5XLp0Sd1GXV2d+nohBE6fPp2SzF26dAlzc3NlT95yiUGlRgz9fj88Hg9isRiEENjY2IDZbNZdf2JiApubm2mXybKMM2fOYGhoCEIITE5O4pVXXinbyIXRfrSfcQT54WO1WvHzzz/DarVWuij7DmNDRESUn9QR5VyTZNwzlCfLsowvv/wSd+/eLUrBtX755RfU19ejra0NPT09eb1HMBiE2WxGMBgEkDitO9/pVoXUORqNwuVyYXJyMmEHx2q1YnJyEi6XC9FoFJFIBE8//TS6uroAAJIk4dq1a7oJ28WLF+FyuSBJkroNn8+XELeenh4MDg4mvE6SJLhcLly8eNFQPcoRg3wVUjZZluH1ejE6OprTgRPlAMXrr7+ednk4HMbm5ibefvttAEBXVxdaWlowPz9vqEz51sdoPypUKb8PHhQPSgwelHKWA2NRHIwjERE9CHRuD5U9STY6mjw3N4dvv/0WH3/8ccF/HN1uN0wmE1588UWsrKzg5MmTmJmZSUjuxsfHM069drvdCe+pnXotyzLeeecdvP/++3j55ZfhdDpx/vx5TExMGBqlKqTO8/PzaGlpURMXLZvNhtraWkQiEVgsFty4cQOzs7NZ31OWZdy+fRsNDQ1ZtwGkntvW0NCA27dvG5p6XuoYLC4u4oknnkAwGITD4TA0Nb6QsoXDYQDAhQsX1D6lN6ValmUMDAyoByjSWVtbg81mUxNTSZJw7NgxLC8v51ymQuqTqR8pI7RXr15FfX29GuPkqdpGpuYX+n2QvG3ltIj19XXd/qAcUEs3tTx5er922cjISNrp9YXUvxgxSFeu/dZ ..


#1 [liudianwu 11-16 17:36]
1. 安装对应的数据库,安装后会有include头文件和lib链接库文件,这是基本的前提,编译数据库插件必须要有这两个东西。
2. 准备好数据库插件源码,比如qt-everywhere-src-5.14.2\qtbase\src\plugins\sqldrivers\mysql,可以在安装Qt的时候勾选src,或者后期直接官网重新下载源码解压出来。
3. 打开你要编译的数据库插件源码,比如mysql就打开mysql.pro,oracle就打开oci.pro。
4. 在pro中注释掉一行 #QMAKE_USE += mysql,如果是oci项目则是#QMAKE_USE += oci。
5. qsqldriverbase.pri文件中注释掉 #include($$shadowed($$PWD)/qtsqldrivers-config.pri)。
6. mysql.pro文件内容下面加上如下代码。
```cpp
path = C:/Qt/mysql-5.7.30-winx64
INCLUDEPATH += $$path/include
win32:LIBS += -L$$path/lib -llibmysql
```
7. oci.pro文件内容下面加上如下代码。
```cpp
path = C:/app/Administrator/product/11.2.0/client_1
INCLUDEPATH += $$path/oci/include
win32:LIBS += -L$$path/oci/lib/msvc -loci
```
8. 以上写法同时支持mingw和msvc,其他系统编译过程也是类似。编译完成后默认会在你当前源码所在盘符的根目录下,会出现plugins目录,里面sqldrivers目录下就是对应编译生成好的插件动态库。
9. 默认oracle的插件驱动代码是按照oracle12的函数写的,如果链接的是oracle11,则需要改动两行代码才能编译成功。打开qsql_oci.cpp文件大概在1559行代码左右,有个OCIBindByPos2函数改成OCIBindByPos,下面还有一行bindColumn.lengths改成(ub2*)bindColumn.lengths。
#2 [20091001753 11-16 20:53]
Qt 6 编译 MySQL 驱动 示范贴
http://www.qtcn.org/bbs/read-htm-tid-91447.html

回复 发表
主题 版块