自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

解析Qt 4.7.3編譯MYsql驅(qū)動(dòng)

移動(dòng)開發(fā)
Qt 4.7.3在連接MYsql數(shù)據(jù)庫的時(shí)候可能出現(xiàn)的問題,原來是其他由于權(quán)限的問題,只給出了部分?jǐn)?shù)據(jù)庫的驅(qū)動(dòng)(只有sqlite)其他的驅(qū)動(dòng)只給出了源文件還有文檔說明,需要自己編譯,那么本文將會(huì)幫你解決這些問題。

本文講解Qt 4.7.3編譯MYsql驅(qū)動(dòng)的內(nèi)容,Qt 4.7.3在連接MYsql數(shù)據(jù)庫的時(shí)候可能出現(xiàn)的問題,原來是其他由于權(quán)限的問題,只給出了部分?jǐn)?shù)據(jù)庫的驅(qū)動(dòng)(只有sqlite)其他的驅(qū)動(dòng)只給出了源文件還有文檔說明,需要自己編譯,那么本文將會(huì)幫你解決這些問題。

首先,這樣的教程在網(wǎng)上有很多,我選了一下比較好的貼出來網(wǎng)址,但是根據(jù)自己的情況不同可能會(huì)遇到很多問題。。。但是大同小異,基本上都可以解決:

http://blog.knowsky.com/201556.htm

http://blog.knowsky.com/201556.htm

http://no001.blog.51cto.com/1142339/300920

http://www.blogjava.net/nokiaguy/archive/2009/03/23/261502.html

http://www.blogjava.net/nokiaguy/archive/2009/03/23/261502.html

http://no001.blog.51cto.com/1142339/300920

http://www.blogjava.net/javabloger/archive/2008/07/14/214740.html

http://space.itpub.net/22893636/viewspace-663033

mingw-utils包下載:http://www.qtcn.org/download/mingw-utils-0.3.tar.gz

閑話少說:解決問題首先是要下載安裝MYsql還有QT,這個(gè)不用多說了,接觸過的都熟悉了,PS(以前下載的時(shí)候都是SDK集成的開發(fā)環(huán)境,但是,最近我下載的時(shí)候發(fā)現(xiàn)不一樣了,SDK把不需要的塞班也加進(jìn)去了,開發(fā)包很大1.5G,安裝需要9G的空間)沒辦法我只能下載的

  1. qt-creator-win-opensource-2.2.0  
  2. qt-win-opensource-4.7.3-mingw  

安裝的時(shí)候可能會(huì)遇到點(diǎn)錯(cuò)誤,上面給出的網(wǎng)址中有解決的遮掩問題的,哈哈,放心吧。然后就是MYsql,我安裝的是5.5,一個(gè)比較新的版本,下載網(wǎng)址是:

http://www.mysql.com

安裝的時(shí)候最好就一次安裝好,不然就悲劇了,這個(gè)很難被卸載。。。

然后就是編譯mysql驅(qū)動(dòng)了:打開Qt Command Prompt。你會(huì)發(fā)現(xiàn),你的環(huán)境變量他自己給你設(shè)定了,這樣的話,就需要在你的編譯驅(qū)動(dòng)之前就修改這些環(huán)境變量,不然的話會(huì)在編譯的時(shí)候遇到各種“不是命令或者內(nèi)部文件”的問題首先打開qt-win-opensource-4.7.3-mingw安裝目錄下面的bin目錄找到Qt Command Prompt的批處理文件,然后編輯他的環(huán)境變量的部分“PATH”記住有兩處需要修改,然后就是具體的操作了(派出了各種問題的隱患)

引用:

You need to get the MySQL installation files. Run SETUP.EXE and choose "Custom Install". Install the "Libs & Include Files" Module. Build the plugin as follows (here it is assumed that MySQL is installed in C:\MYSQL): cd %QTDIR%\src\plugins\sqldrivers\mysql qmake -o Makefile "INCLUDEPATH+=C:\MYSQL\INCLUDE" "LIBS+=C:\MYSQL\LIB\OPT\LIBMYSQL.LIB" mysql.pro nmake If you are not using a Microsoft compiler, replace nmake with make in the line above.

這就是一個(gè)容易搞混的地方,上面是使用的libmysql.lib和nmake來編譯的,如果使用的是msvc的編譯器,那上面是沒問題的,但是如果使用的是mingw編譯器,那就會(huì)出錯(cuò),有undefined reference....等類錯(cuò)誤字樣。這是因?yàn)閙ingw使用的庫和msvc使用的不同格式的庫而引起的。而mysql只提供了msvc可使用的庫。

qt4 for mingw要想編譯出qsqlmysql庫來,我們先得編譯出mingw需要的libmysql.a這個(gè)文件來,可使用mingw工具來生成。 mingw -utils包里的reimp命令(如果沒有這個(gè)命令的話,可從本帖開頭處給出的地址中下載這個(gè)文件,并把它解壓開后的bin目錄里的reimp內(nèi)容拷貝到 mingw的bin目錄下面。

mysql安裝的時(shí)候默認(rèn)的安裝路徑中有空格,我們得先把它的include和lib目錄拷貝到?jīng)]有空格的路徑下,比如C: \mysql下)

CODE: cd c:\mysql\lib\opt reimp -d libmysql.lib dlltool -k -d libmysql.def -l libmysql.a 這時(shí)候你會(huì)發(fā)現(xiàn)你的lib文件夾下面會(huì)多出兩文件: libmysql.a & libmysql.def (推薦使用mysql5.5,其他的貌似沒有l(wèi)ibmysql*.lib文件)

然后使用qmake和make命令:

cd %QTDIR%\src\plugins\sqldrivers\mysql qmake -o Makefile "INCLUDEPATH+=C:\MYSQL\INCLUDE" "LIBS+=C:\MYSQL\LIB\OPT\LIBMYSQL.a" mysql.pro make 這下便會(huì)在%QTDIR%\plugins\sqldrivers目錄下面生成libqsqlmysql.a, qsqlmysql.dll這兩個(gè)文件了。

注意這里可能會(huì)遇到這種問題:

  1. WARNING: (internal):1: Unescaped backslashes are deprecated.   
  2. WARNING: (internal):1: Unescaped backslashes are deprecated.   
  3. WARNING: (internal):1: Unescaped backslashes are deprecated.  

我也遇到了你的這個(gè)問題,我把我的解決方法給你,希望對(duì)你有用。

(1)dos下進(jìn)入:D:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql>

(2)用記事本打開D:\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" 并保存

(3)在dos下輸入:

qmake -o Makefile mysql.pro 此時(shí)可能也會(huì)提示:

  1. WARNING:   
  2. d:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql\mysql.pro:2: Unescaped ba ckslashes are deprecated. WARNING:   
  3. d:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql\mysql.pro:2: Unescaped ba ckslashes are deprecated. WARNING:   
  4. d:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql\mysql.pro:2: Unescaped ba ckslashes are deprecated

但是好像對(duì)最后的結(jié)果沒有影響

然后使用make命令;

但是這時(shí)候只有在debug文件夾有兩個(gè)文件

然后使用make release 生成release目錄下的文件

  1. qsqlmysql4.dll   
  2. libqsqlmysql4.a  
  3. qsqlmysqld4.dll   
  4. libqsqlmysqld4.a  

這時(shí)候把這幾個(gè)文件拷貝到 C:\Qt\……\plugins\sqldrivers下面;另外,根據(jù)文檔所說的,還要把libmysql.dll復(fù)制到system32目錄。

小結(jié):關(guān)于Qt 4.7.3編譯MYsql驅(qū)動(dòng)的內(nèi)容將講到這里,希望能夠幫助到你!

【編輯推薦】

C++連接mysql數(shù)據(jù)庫的兩種方法

如何安全的遠(yuǎn)程使用MySQL GUI工具

MySQL數(shù)據(jù)庫中緩存管理的思路解析

MySQL中創(chuàng)建及優(yōu)化索引組織結(jié)構(gòu)的思路

輕松八句話 教會(huì)你完全搞定MySQL數(shù)據(jù)庫

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-07-05 09:25:05

Qt MySQL 驅(qū)動(dòng)

2011-07-05 14:29:44

Ubuntu QT Mysql

2011-07-05 13:32:45

QT Mysql 驅(qū)動(dòng)

2011-07-05 14:16:50

QT Mysql 驅(qū)動(dòng)

2011-06-08 15:27:24

QT QT 4.5 編譯

2011-06-09 15:18:07

QT 編譯

2011-06-24 17:05:07

QT QT 4.7.3 windows

2011-07-05 14:23:07

QT MySQL 驅(qū)動(dòng)

2011-06-28 13:02:06

Qt Qt 4.7.3 ARM

2011-06-09 14:56:53

QT 編譯

2011-06-28 13:47:37

Embedded QT ARM

2010-06-01 14:51:45

MySQL驅(qū)動(dòng)

2011-07-05 14:06:17

編譯 Qt

2011-07-05 13:44:17

2011-06-10 10:00:16

Qt 數(shù)據(jù)庫 MySQL

2011-06-21 16:51:21

Qt 靜態(tài) 編譯

2011-06-09 16:47:56

Qt 嵌入式

2011-06-24 13:38:32

QT 編譯 安裝

2011-04-11 13:26:25

Linux驅(qū)動(dòng)

2011-07-01 15:04:49

Qt 內(nèi)省
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)