包含qt靜態編譯mysql的詞條

本文目錄一覽:

求Qt5.10 for msvc2015 mysql靜態編譯版本的驅動

樓主可以通過查看依賴庫的軟件(比如windows depends)把所有依賴的DLL都打包起來

和你的EXE一起拷貝到別的電腦上就能直接跑 了

qt連接mysql數據庫怎麼編譯驅動

下載mysql C鏈接庫

選擇C的鏈接庫

2

將C的連接庫解壓到到C:/mysql 目錄下

3

我的QT 安裝在C盤目錄下,版本號是4.8.6 所以打開目錄

C:\QT\4.8.6\src\plugins\sqldrivers\mysql

4

將C:/mysql/lib/libmysql.dll 和C:/mysql/lib/libmysql.lib

複製到此處。

5

編輯目錄下的mysql.pro文件

添加

INCLUDEPATH+=”C:/mysql/include”

LIBS+=”C:/mysql/lib/opt/libmysql.lib”

運行qt的控制台窗口,方便使用qmake

切換到目錄下

C:\QT\4.8.6\src\plugins\sqldrivers\mysql

執行qmake

運行VS2010的控制台工具

切換到

C:\QT\4.8.6\src\plugins\sqldrivers\mysql 目錄下

執行nmake 和nmake release

是nmake不是make

這樣在C:\QT\4.8.6\src\plugins\sqldrivers\mysql 目錄下的debug 目錄和release 目錄下分別會產生

qsqlmysqld4.dll qsqlmysqld4.lib

qsqlmysql4.dll qsqlmysql4.lib

將上面提到的四個文件複製到

C:\QT\4.8.6\plugins\sqldrivers

最後把

C:\mysql\lib\opt\libmysql.dll

C:\mysql\lib\opt\libmysql.lib

複製到

C:\Windows\system32\ 目錄下。

最後測試mysql 可不可以在qt中正常使用

新建一個qt 控制台項目

輸入以下代碼

#include QCoreApplication

#include QDebug

#include qstring.h

#include qstringlist.h

#include qsql.h

#include qsqldatabase.hint main(int argc, char *argv[])

{

QCoreApplication a(argc, argv);

qDebug() “Available drivers:”;

QStringList drivers = QSqlDatabase::drivers();qDebug() drivers;return a.exec();

}

運行測試一下,看看有沒有圖片中紅圈圈中的兩項內容

QT中怎麼靜態編譯,靜態編譯的步驟是什麼。

Qt採用編譯的方式安裝的時候,配置中默認的編譯方式是動態編譯的,但是有時候你編寫的程序要發布出去,帶很多動態庫文件是很繁瑣的,此時就需要靜態編譯你的程序,Qt要實現靜態編譯必須庫文件也是靜態編譯的,所以在此介紹一下qt如何來進行靜態編譯第一步:下載源碼包Qt/X11版本:qt-x11-opensource-src-4.5.2.tar.gz第二步:解壓縮tarzxvfqt-x11-opensource-src-4.5.2.tar.gz第三步:進入到剛才解壓縮後的文件夾下並進行配置,如下./configure-release-platformwin32-msvc2008-static-nomakeexamples-nomakedemos-no-qt3support-no-scrip

by

fengyetang

2010-07-04

回復

(0)

群內有人用mingw編譯的靜態編譯庫成功編譯過qt+mysql的程序嗎

mingw編譯出來的靜態庫後綴名為.a,編譯出來的動態庫的導入庫後綴名為.dll.a,而在windows下後綴名為.lib的庫可能是靜態庫也可能是動態庫的導入庫。

mingw編譯出來的動態庫的導入庫可以直接在vc中直接使用,例如

#pragma comment(lib, “libx264.dll.a”)

這樣你就不需要生成一個.lib後綴的動態庫的導入庫了,網上也有如何從.dll生成.lib的方法。

如果鏈接了動態庫的導入庫libpthread.dll.a,你發布的應用程序就要帶上pthread的dll。

使用靜態庫的好處是發布的應用程序組件模塊里不需要帶上相關的dll,如果要使用mingw編譯出來的靜態庫,可以如下:

#pragma comment(lib, “libx264.a”)

但是僅僅鏈接這麼一個靜態庫是不夠的,你還需要鏈接

libgcc.a

libmingwex.a

你可能還需要鏈接libmsvcrt.a

否則會報一堆錯誤:error LNK2001: 無法解析的外部符號

上面的這些庫在C:\MinGW\lib目錄或子目錄下面可以找到。

鏈接這些庫的原因是mingw使用的gcc編譯器和vc編譯器之間存在差異

Qt Creator 怎樣設置才能實現靜態編譯

qt默認的編譯方式是動態編譯的,但是有時候編寫的程序要發布出去,帶很多動態庫文件是很繁瑣的,此時就需要靜態編譯程序,qt要實現靜態編譯必須庫文件也是靜態編譯的,可以用這個命令編譯靜態庫:

1.將c:\qt\2010.05\qt\mkspecs\win32-g++\qmake.conf文件中的qmake_lflags

=

-enable-stdcall-fixup

-wl,-enable-auto-import

-wl,-enable-runtime-pseudo-reloc

改為

qmake_lflags

=

-static

-enable-stdcall-fixup

-wl,-enable-auto-import

-wl,-enable-runtime-pseudo-reloc

2.在開始菜單里找到qt

command

prompt並運行,輸入命令:

configure

-static

-debug-and-release

-no-exceptions

-l

“c:\qt\2010.05\qt\include”

-l

“c:\qt\2010.05\qt\lib”

-l指定一下路徑,防止用到vc的頭文

QT5靜態編譯無法加載數據庫插件

今天終於自己靜態編譯過了QT5.3.1, 成功用在項目上了, 記錄下configure指令.

configure -confirm-license -opensource -platform win32-msvc2013 -mp -debug-and-release -static -prefix “E:\Qt\5.3.1-static-vs2013” -qt-sql-sqlite -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -no-qml-debug -no-angle -nomake tests -nomake examples -skip qtwebkit

其中 -mp 是啟用多核編譯的開關

原創文章,作者:HNBSU,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/325022.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
HNBSU的頭像HNBSU
上一篇 2025-01-13 13:23
下一篇 2025-01-13 13:23

相關推薦

  • 如何修改mysql的端口號

    本文將介紹如何修改mysql的端口號,方便開發者根據實際需求配置對應端口號。 一、為什麼需要修改mysql端口號 默認情況下,mysql使用的端口號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Qt雷達探測教程

    本文主要介紹如何使用Qt開發雷達探測程序,並展示一個簡單的雷達探測示例。 一、環境準備 在開始本教程之前,需要確保你的開發環境已經安裝Qt和Qt Creator。如果沒有安裝,可以…

    編程 2025-04-29
  • Centos7配置靜態ip

    本文將詳細闡述如何在Centos7系統中配置靜態ip。 一、查看網絡接口 在配置靜態ip之前,我們首先需要查看系統中的網絡接口,以確定我們需要配置的網卡是哪一個。 ifconfig…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL數據庫 在使用Python操作MySQL之前,我們需要先連接MySQL數據庫。在Python中,我…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL數據庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28
  • Qt State Machine與狀態機模式

    本文將介紹Qt State Machine和狀態機模式在Qt中的實現。Qt提供了QStateMachine和QState兩個類,可以方便地實現狀態機模式,並且能有效地處理複雜的、多…

    編程 2025-04-27
  • Python中通過對象不能調用類方法和靜態方法的解析

    當我們在使用Python編寫程序時,可能會遇到通過對象調用類方法和靜態方法失敗的問題,那麼這是為什麼呢?接下來,我們將從多個方面對這個問題進行詳細解析。 一、類方法和靜態方法的定義…

    編程 2025-04-27
  • Apache偽靜態配置Java

    本文將會從多個角度闡述如何在Apache中正確偽裝Java應用程序,實現URL的靜態化,提高網站的SEO優化和性能。以下是相關的配置和代碼實例。 一、RewriteEngine的配…

    編程 2025-04-27

發表回復

登錄後才能評論