【Qt学习】windows下编译mysql驱动总结

来源:互联网 发布:勒布朗詹姆斯身体数据 编辑:程序博客网 时间:2024/06/05 09:45

    网上有很多关于编译mysql驱动的文章,其实步骤都大同小异,但是完全的照做期间可能也会出现很多问题,我也是捣鼓了一天多才弄出个结果来,整理一下,以备后用。

 

【步骤说明】:

步骤一:

    在C:/Qt/2010.05/qt/src/plugins/sqldrivers/mysql目录下找到mysql.pro文件,在第二行添加:

        INCLUDEPATH += "C:/Program Files/MySQL/MySQL Server 5.1/include"

        LIBS += "C:/Program Files/MySQL/MySQL Server 5.1/lib/opt/libmysql.lib"

    注意:默认安装mysql可能没有opt目录产生的,这就需要在安装mysql过程中需选择自定义安装,中间有个过程可以选择添加include source类似的字眼的东西(具体忘记了,默认是X选项,是没有选择的)。

 

步骤二:

    从命令行进入C:/Qt/2010.05/qt/src/plugins/sqldrivers/mysql目录,生成Makefile:

        qmake -o Makefile mysql.pro

        (期间可能会有警告:WARNING: c:/Qt/2010.05/qt/src/plugins/sqldrivers/mysql/mysql.pro:3: Unescaped backslashes are deprecated.暂不用理会,不会影响结果)。

 

步骤三:

    执行make命令。

 

【问题说明】:

    1、用nmake命令会产生如下错误:

        NMAKE : fatal error U1073: don't know how to make 'c:/Program/' Stop.

        NMAKE : fatal error U1077: '"C:/Program Files/Microsoft Visual Studio/VC98/bin/NMAKE.EXE"' : return code '0x2'

    所以不能用nmake编译。

 

    2、让make命令生效:

        我安装的是QT SDK for Windows(qt-sdk-win-opensource-2010.05.exe),默认情况下是不能执行make命令,从Qt安装目录下搜索了一把(搜索make.exe),结果只有qmake.exemingw32-make.exe,注意这个mingw32-make.exe文件,在使用Qt Creator IDE编译时输出信息中也总是会有这个命令信息。这里只需要简单的将mingw32-make.exe拷贝一份,并命名为make.exe便可以使用make命令(前提:环境变量中添加C:/Qt/2010.05/mingw/bin路径)。

 

    3、执行make命令时可能还是编译不过,报错信息中会有很多关于C:/Program Files/Microsoft Visual Studio/VC98/include目录的信息。

        我怀疑是我电脑里安装的VC6的问题,可能Qt库中有很多与VC同名的文件,而环境变量中C:/Program Files/Microsoft Visual Studio/VC98/include的位置比Qt路径靠前,编译时包含的是VC的头文件所以才报错。我简单的将VC98目录改了一下名(任意改名,只要不是VC98就OK了,不过完了之后还得把它改回来,免得影响VC的使用),再次编译就通过了,写了个连接mysql的小程序验证了下,已经能连接上了。

 

    4、网上有很多人说要用reimp.exe生成libmysql.def、libmysql.a,从我上面描述的步骤里看,似乎用不着。

 

关于编译mysql驱动的文章连接:

 

http://www.qtcn.org/bbs/read.php?tid=43300

http://www.qtcn.org/bbs/read.php?tid=34753

http://blog.csdn.net/polokang/archive/2011/05/08/6403303.aspx

原创粉丝点击