qt連接mysql4.7數據庫_QT4.7訪問MySQL的驅動編譯過程

我們假設你已經成功安裝了MySQL(我用的是MySQL的安裝版)和QT,MySQL的安裝路徑采用的是其默認安裝路徑,也就是安裝在了C:\Program Files下。下面開始正式講解QT訪問安裝版MySQL的驅動的編譯方法。

第一步:

因為MySQL的安裝路徑下有空格,而編譯訪問MySQL的驅動是不能有空格的,所以,我們先在C盤新建一個文件夾,命名為mysql,再將MySQL安裝文件下的lib和include文件夾拷貝到剛才新建的那個文件夾下。

第二步:

打開打開QTCommand,我們可以看到起已經有一條默認路徑,(因為我的是安裝在D:\Qt文件夾下,所以默認路徑為D:\Qt\4.7.3)

接著輸入cd ?C:\mysq\lib轉到C:\mysq\lib庫文件夾下

再輸入reimp?-d?libmysql.lib?(生成?libmysql.def文件)

接著輸入dlltool?-k?-d?libmysql.def?-l?libmysql.a?(生成?libmysql.a文件),接著我們就可以看到出來了:?libmysql.def ?libmysql.a這兩個文件。

第三步:

當我們準備好libmysql.a這個庫文件之后,我們就可以開始編譯之旅了。

我們輸入cd %QTDIR%/src/plugins/sqldrivers/mysql,跳轉到QT4.7的安裝目錄下的src/plugins/sqldrivers/mysql文件夾下(我的是D:\Qt\4.7.3\src\plugins\sqldrivers\mysql)

接著輸入qmake?-o?Makefile?"INCLUDEPATH+=C:/mysql/include"?"LIBS+=C:/mysql/LIB/libmysql.a"?mysql.pro

(此處特別小心,該路徑指向的是我們自己在C盤創建的那個mysql文件夾,且libmysql.a得注意大小寫的問題,否則會不成功),此時,我們得到了makefile,

接著輸入make,此時D:\Qt\4.7.3\src\plugins\sqldrivers\mysql下的debug文件夾里邊出現調試版本的了,也就是libqsqlmysqld4.a 和?qsqlmysqld4.dll

接著輸入make?release , 此時D:\Qt\4.7.3\src\plugins\sqldrivers\mysql下的release文件夾里邊出現了release版本,也就是libqsqlmysql4.a 和?qsqlmysql4.dll

接著我們把生成的libqsqlmysqld4.a ?qsqlmysqld4.dll ?libqsqlmysql4.a ?qsqlmysql4.dll 四個文件拷貝到QT的驅動目錄下,即D:\Qt\4.7.3\plugins\sqldrivers目錄下

最后我們再把mysql安裝目錄下lib文件中的libmysql.dll拷貝到QT安裝目錄下的bin文件夾中(否則會無法打開與數據庫的連接)。

在文章的最后,可能會有一部分使用MyEclipse/Eclipse的人在使用QT時也去右鍵單擊再添加庫,最后安裝以上方法編譯成功了,該拷貝的也拷貝了,可就是會出現File Not Found的錯誤的,只需要在pro文件的最后,把因為右鍵單擊添加庫文件而自動增加的那幾行代碼刪除就OK了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/541521.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/541521.shtml
英文地址,請注明出處:http://en.pswp.cn/news/541521.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

cellpadding_在CSS中設置cellpadding和cellspacing

cellpaddingIntroduction: 介紹: It is not unknown anymore that now and then we make use of tables in our web page or website, therefore we all are familiar with how to create tables or grids in our website or web page but there are times when we…

JavaScript中的arguments對象

JavaScript中的arguments對象 arguments 是一個類似數組的對象, 對應于傳遞給函數的參數。 語法 arguments 描述 arguments對象是所有函數中可用的局部變量。你可以使用arguments對象在函數中引用函數的參數。此對象包含傳遞給函數的每個參數的條目,第一個條目的索引…

mongodb 排序_技術分享 | MongoDB 一次排序超過內存限制的排查

本文目錄:一、背景1. 配置參數檢查2. 排序字段是否存在索引二、測試環境模擬索引對排序的影響1. 測試環境信息2. 報錯語句的執行計劃解釋 3. 建立新的組合索引進行測試三、引申的組合索引問題1. 查詢語句中,排序字段 _id 使用降序2. 查詢語句中&#xff…

sim800 模式切換_SIM的完整形式是什么?

sim800 模式切換SIM:訂戶標識模塊或訂戶標識模塊 (SIM: Subscriber Identity Module or Subscriber Identification Module) SIM is an abbreviation of a Subscriber Identity Module or Subscriber Identification Module. SIM is a portable chip and an integra…

css新單位 vw , vh

考慮到未來響應式設計的開發,如果你需要,瀏覽器的高度也可以基于百分比值調整。但使用基于百分比值并不總是相對于瀏覽器窗口的大小定義的最佳方式,比如字體大小不會隨著你窗口改變而改變,如今css3引入的新單位明確解決這一問題。…

linux下mysql目錄結構_linux下mysql安裝配置與目錄結構

本節內容:linux下mysql安裝與配置、mysql目錄結構。1、準備安裝程序(官方網站下載)服務端:MySQL-server-community-5.1.44-1.rhel4.i386.rpm客戶端:MySQL-client-community-5.1.44-1.rhel4.i386.rpm2、安裝(打印信息略) 代碼示例:[rootlocalh…

Python字典values()方法與示例

字典values()方法 (Dictionary values() Method) values() method is used to get all values of a dictionary, it returns a view object that contains the all values of the dictionary as a list. values()方法用于獲取字典的所有值,它返回一個包含字典所有值…

spark源碼分析之Executor啟動與任務提交篇

任務提交流程 概述 在闡明了Spark的Master的啟動流程與Worker啟動流程。接下繼續執行的就是Worker上的Executor進程了,本文繼續分析整個Executor的啟動與任務提交流程Spark-submit 提交一個任務到集群通過的是Spark-submit通過啟動腳本的方式啟動它的主類&#xff0…

mysql 5.5.22.tar.gz_MySQL 5.5.22源碼編譯安裝

MySQL 最新的版本都需要cmake編譯安裝,估計以后的版本也會采用這種方式,所以特地記錄一下安裝步驟及過程,以供參考。注意:此安裝是默認CentOS下已經安裝了最新工具包,比如GNU make, GCC, Perl, libncurses5-dev&#x…

Java Vector setElementAt()方法與示例

向量類setElementAt()方法 (Vector Class setElementAt() method) setElementAt() method is available in java.util package. setElementAt()方法在java.util包中可用。 setElementAt() method is used to set the given element (ele) at the given indices in this Vector.…

利用python進行數據分析D2——ch03IPython

為無為,事無事,味無味。大小多少,報怨以德。圖難于其易,為大于其細;天下難事必作于易,天下大事必作于細。——老子關于圖片的例子:import matplotlib.pyplot as plt imgplt.imread(ch03/stinkbug.png) import pylab plt.imshow(img) pylab.show()結果:調…

mysql 視圖 字典_MySQL深入01-SQL語言-數據字典-服務器變量-數據操作DML-視圖

SQL語言的組成部分常見分類:DDL:數據定義語言DCL:數據控制語言,如授權DML:數據操作語言其它分類:完整性定義語言:DDL的一部分功能約束約束:包括主鍵,外鍵,唯一…

為什么我會被淘汰?

這是一個值得討論的問題。華為前段時間也傳出了大規模裁員的一些負面新聞,一時間搞的人心惶惶。總結起來說,還是怕失去這份賴以生存的工作,尤其是對于上有老下有小的中年人來說,工作尤為重要。 淘汰,是軟件行業不變的真…

Java Throwable initCause()方法與示例

Throwable類initCause()方法 (Throwable Class initCause() method) initCause() Method is available in java.lang package. initCause()方法在java.lang包中可用。 initCause() Method is used to instantiate the cause of this throwable to the given value and this met…

mysql 存儲過程死循環_pl/sql存儲過程loop死循環

今早,一個存儲過程,寫過很多次的存儲過程,隨手一寫,各種報錯,各種糾結,網上一搜,有好多個都遇到,論壇上給出的結局答案,今早,一個存儲過程,寫過很…

GATK之VariantAnnotator

VariantAnnotator 簡要說明 用途: 利用上下文信息注釋識別的變異位點(variant calls)分類: 變異位點操作工具概要: 根據變異位點的背景信息(與功能注釋相對)進行注釋。目前有許多的注釋模塊(見注釋模塊一節…

pipedreader_Java PipedReader connect()方法與示例

pipedreaderPipedReader類的connect()方法 (PipedReader Class connect() method) connect() method is available in java.io package. connect()方法在java.io包中可用。 connect() method is used to cause this PipedReader to be connected to the given PipedWriter (sou…

《Java學習指南》—— 1.4 設計安全

本節書摘來異步社區《Java學習指南》一書中的第1章,第1.4節,作者:【美】Patrick Niemeyer , Daniel Leuck,更多章節內容可以訪問云棲社區“異步社區”公眾號查看。 1.4 設計安全 Java被設計為一種安全語言,對于這一事實…

ppython_Python pcom包_程序模塊 - PyPI - Python中文網

PCOM在python中一個非常基本的unitronics pcom協議實現。如何使用from pcom import commandsfrom pcom.plc import EthernetPlcwith EthernetPlc(address(192.168.5.43, 1616)) as plc:# Read realtime clockc commands.ReadRtc()res plc.send(c)print(res)# Set realtime cl…

bitcount方法詳解_Java Long類的bitCount()方法和示例

bitcount方法詳解長類bitCount()方法 (Long class bitCount() method) bitCount() method is available in java.lang package. bitCount()方法在java.lang包中可用。 bitCount() method is used to find the number of 1s bits in the 2s complement binary denotation of the…