本文目錄一覽:
- 1、求Qt5.10 for msvc2015 mysql靜態編譯版本的驅動
- 2、qt連接mysql數據庫怎麼編譯驅動
- 3、QT中怎麼靜態編譯,靜態編譯的步驟是什麼。
- 4、群內有人用mingw編譯的靜態編譯庫成功編譯過qt+mysql的程序嗎
- 5、Qt Creator 怎樣設置才能實現靜態編譯
- 6、QT5靜態編譯無法加載數據庫插件
求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-hk/n/325022.html