當前位置:首頁 » 編程軟體 » qt靜態編譯mingw

qt靜態編譯mingw

發布時間: 2023-07-11 14:13:48

⑴ 如何靜態編譯發布Qt應用程序

如果你說的是Qt程序的話,靜態編譯就得自行從源碼開始編譯Qt靜態庫,官網預編譯的版本是不包含靜態庫的。這個很復雜,請參考qt-everywhere-opensource 中提供的編譯幫助。注意如果使用miongw的話,gcc版本最好不要是4.6.2。這個版本比較特殊,但是它是mingw官方版的最新打包版本。
如果你說的是非qt庫依賴的話,有兩種mingw和vs,前者有部分發行版默認去除了dll依賴,直接連接的靜態庫,後者非常不推薦使用靜態庫,畢竟它載入的是系統常用dll,基本上所有系統都是推薦安裝的運行時環境,用靜態庫吃力不討好。

⑵ 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)

⑶ QT用VS還是MINGW編譯好,有什麼區別

MinGW 兼容性更好,調試也更方便。
VS生成的 exe 發布時依賴的 dll 少一些,其他都不如 mingw。

⑷ 編譯Qt 4.7.3在GCC 4.6 MinGW問題,怎麼解決

認真核操作步驟:
1、修改環境變數工具推薦:Rapid Environment Editor
修改前請先備份前環境變數:
(1)檢查系統變數path刪除關mingw其版本等信息免與續mingw32-make沖突
(2)檢查用戶變數INCLUDE、LIB、PATH、MSDevDirMSVCDir刪除關\Microsoft Visual Studio\VC98信息與續mingw32-make沖突導致編譯錯
2、????電腦安裝mingw編譯器假設路徑安裝C:\Qt\mingw32C:\Qt\mingw32\bin添加進環境變數path打DOS命令行輸入gcc --versiong++ --versionmingw32-make --version驗證編譯器安裝功我用MinGW版本V4.8.2
3、解壓qt-everywhere-opensource-src-4.8.6.zip並進入目錄例:D:\qt-everywhere-opensource-src-4.8.6\
4、依執行DOS命令:
(1)configure -debug-and-release -opensource -prefix "D:\Qt4.8.6" -platform win32-g++ -nomake demos -nomake examples
見使用選項說明:
-debug-and-release 編譯debugrelease版
-opensource 選擇源協議並確認
-platform win32-g++ 使用mingw編譯
-prefix "D:\Qt4.8.6" 指定編譯結目錄,未指定則默認前
-shared 創建使用共享Qt庫
-static 創建使用靜態Qt庫
-nomake demos -nomake examples 編譯常式
-nomake tests 編譯tests

-skip qtwebkit 忽略qtwebkit編譯特別消耗間

-mp 使用核優化編譯

(2)mingw32-make
(3)mingw32-make install
5、編譯完C:\Qt\mingw32\bin\路徑三文件libgcc_s_dw2-1.dll、libstdc++-6.dlllibwinpthread-1.dll拷貝D:\qt-everywhere-opensource-src-4.8.6\bin\另外請步驟1備份環境變數原
6、修改Qt安裝路徑
初編譯選擇路徑D:\Qt4.8.6\想復制其盤符並且改名例:C:\Qt\4.8.6_MinGW問題問題Qt絕路徑依賴症改名C:\Qt\4.8.6_MinGW\bin\exe執行程序都問題要程序打要語言發異用記事本打C:\Qt\4.8.6_MinGW\bin\qmake.exe查找關鍵字qt_prfxpath看面含原始安裝路徑我手修改qmake.exe真效解決:
C:\Qt\4.8.6_MinGW\bin\路徑創建qt.conf文件內容
[paths]
Prefix = C:/Qt/4.8.6_MinGW

請注意:qt.conf文件必須ANSI格式並且Prefix斜杠風格採取Linux非Windows否則失效或者使用"Prefix = .. "任意路徑效

⑸ qt編譯問題

QT默認安裝後 在options 下有 QT4 選項 有QT versions 需要設置下QT的目錄
QT的編譯採用MinGW的編譯器(開源版)MinGW是GCC的Win移植版.

Could not find make command: mingw32-make.exe in the build environment 意思是找不到MinGW的make工具,請將MinGW的bin目錄加入系統的path變數中,在options中有調試器(debug)中選擇mingw調試器gdb的位置
(位於MinGw bin目錄下)

⑹ Qt creator中的 minGW是什麼

樓上說的差不多,其實GCC是編譯器,MinGW實際上是GCC和binutils等移植到Windows的結果。
GCC是編譯器,但是需要類似posix的平台,而其ABI早期支持的Linux\unix,MingW改造了其中代碼,使gcc能夠支持Windows。MinGW本身也存在多個分支,可以在Windows、Linux中編譯能在Windows中執行的二進制代碼。
MingW和CygWin不同,MingW能夠編譯gcc的程序,但是不能編譯那些依賴POSIX模型的程序,例如需要fork等函數的程序。CYGWin整個構造了一個類似POSIX的環境。
簡單的說,MingW是GCC編譯器的一個分支,能夠編譯生成windows下可執行的程序。為了達到這個目標,通常的MinGW軟體包,包含了類似binutil、gdb等一系列工具的集合。

PS.
gcc\gdb\binutils等屬於「工具」軟體,合稱「工具鏈」toolchain

⑺ 群內有人用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用VS還是MINGW編譯好,有什麼區別

都可以。
有時候會用到windows底下一些頭文件,這時候可以用VS編譯,如果用mingw編譯的話有時候會找不到這些頭文件。一般情況下用mingw就可以。

⑼ qt5.8 for mingw編譯靜態版本時怎麼加mysql

注意編譯器一定要和MYSQL的平台版本一致,32位的用32位的編譯器編譯,64位的用64位的編譯器編譯。
准備工作:MYSQL的目錄:D:\SQL_Server\mariadb
Qt5.1.1的目錄:C:\Qt
1. 先將D:\SQL_Server\mariadb中的include\和lib\文件夾復制到根目錄(C:),因為後面make時路徑不能有空格。

2. 打開QT5.1.1 for Desktop(MinGW 4.8)
cd C:\Qt\Qt5.1.1\5.1.1\Src\qtbase\src\plugins\sqldrivers\mysql
qmake "INCLUDEPATH+=D:\SQL_Server\mariadb\include" "LIBS+=D:\SQL_Server\mariadb\lib\libmysql.lib" mysql.pro
mingw32-make
如果出現找不到mysql.h文件就用qtcreator打開mysql.pro文件,配置項目,然後編譯,就會出現錯誤提示,把#include 改成#include ,編譯就行了,或回到命令行再次執行mingw32-make即可.

3. 編譯成功後。
進入到C:\Qt\Qt5.1.1\5.1.1\Src\qtbase\plugins\sqldrivers目錄下,選中qsqlmysql.dll和 qsqlmysqld.dll兩個文件,

復制到C:\Qt\Qt5.1.1\5.1.1\mingw48_32\plugins\sqldrivers目錄下。

熱點內容
命令行執行oracle腳本文件命令行 發布:2025-02-07 10:14:49 瀏覽:95
ibook安卓怎麼下 發布:2025-02-07 10:12:13 瀏覽:692
銀行卡沒有密碼怎麼辦啊 發布:2025-02-07 10:08:13 瀏覽:30
游戲庫源碼 發布:2025-02-07 09:49:15 瀏覽:53
享宇錢包上傳不了照片 發布:2025-02-07 09:48:32 瀏覽:632
模擬器怎麼開安卓版本 發布:2025-02-07 09:42:35 瀏覽:771
c程序設計語言源碼 發布:2025-02-07 09:22:41 瀏覽:623
資料庫域的概念 發布:2025-02-07 09:22:40 瀏覽:640
電信路由器賬號密碼多少 發布:2025-02-07 09:22:01 瀏覽:671
我的世界怎麼在別人伺服器開光影 發布:2025-02-07 09:21:20 瀏覽:12