qt5靜態編譯mingw
㈠ 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 5.8.0 +mingw
1、安裝Qt5
Qt5的安裝比Qt4的安裝簡單多了,我裝的是Qt5.4(qt-opensource-windows-x86-mingw491_opengl-5.4.0.exe),它集成了MinGW、Qt Creator等,不需要你再單獨下載MinGW和Qt Creator。
首先,去Qt官網下載資源:qt-opensource-windows-x86-mingw491_opengl-5.4.0.exe;然後,雙擊安裝即可。安裝後,「開始」菜單
2、配置Qt
打開Qt Creator,工具–>選項,打開「選項」對話框
若沒有檢測出,則添加相應的Qt版本和編譯器(MinGW),再設置構建套件(Kits):設備類型、編譯器(MinGW)、調試器、Qt版本
3、使用Qt
打開Qt Creator,新建項目–>其他項目–>空的qmake項目,項目命名為「QtTest」,再添加新文件main.cpp。
在main.cpp中添加如下代碼:
#include
#include
#include
#include
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
QWidget *window = new QWidget;
window->setWindowTitle("QtTest");
//QLabel *label= new QLabel("Hello Qt");
QLabel *label = new QLabel("
Hello"" Qt");
QPushButton *button=new QPushButton("Quit");
QObject::connect(button,SIGNAL(clicked()),&app,SLOT(quit()));
QVBoxLayout *layout=new QVBoxLayout;
layout->addWidget(label);
layout->addWidget(button);
window->setLayout(layout);
window->show();
return app.exec();
}
此時,代碼顯示如下錯誤:
運行時錯誤提示:#include–No such file……
實際上,QT5中很多常用的QT頭文件都被移到core gui widgets 等模塊中去了,在QT5中,.pro文件需要增加額外的一行(注意大小寫):
QT += core gui widgets
其中Qt += core gui widgets 表示鏈接QtCore(d).dll、QtGui(d).dll、QtWidgets(d).dll。
我們在.pro文件中增加一行上述代碼,保存,再雙擊打開.cpp文件,此時錯誤提示線消失,運行,結果
QPushButton *button=new QPushButton("Quit");
QObject::connect(button,SIGNAL(clicked()),&app,SLOT(quit()));
QVBoxLayout *layout=new QVBoxLayout;
layout->addWidget(label);
layout->addWidget(button);
window->setLayout(layout);
window->show();
return app.exec();
}
此時,代碼顯示如下錯誤:
運行時錯誤提示:#include–No such file……
實際上,QT5中很多常用的QT頭文件都被移到core gui widgets 等模塊中去了,在QT5中,.pro文件需要增加額外的一行(注意大小寫):
QT += core gui widgets
其中Qt += core gui widgets 表示鏈接QtCore(d).dll、QtGui(d).dll、QtWidgets(d).dll。
我們在.pro文件中增加一行上述代碼,保存,再雙擊打開.cpp文件,此時錯誤提示線消失,運行,結果
㈢ MinGW 環境下,Qt 編譯出錯求大神解救!!!
如果是一啟動就報錯,一般是DLL文件找不到。不使用GDB直接運行看看。不行就用Depends。
(Dependency Walker)。看看缺少的DLL
㈣ 如何靜態編譯發布Qt應用程序
如果你說的是Qt程序的話,靜態編譯就得自行從源碼開始編譯Qt靜態庫,官網預編譯的版本是不包含靜態庫的。這個很復雜,請參考qt-everywhere-opensource 中提供的編譯幫助。注意如果使用miongw的話,gcc版本最好不要是4.6.2。這個版本比較特殊,但是它是mingw官方版的最新打包版本。
如果你說的是非qt庫依賴的話,有兩種mingw和vs,前者有部分發行版默認去除了dll依賴,直接連接的靜態庫,後者非常不推薦使用靜態庫,畢竟它載入的是系統常用dll,基本上所有系統都是推薦安裝的運行時環境,用靜態庫吃力不討好。
㈤ qt5 怎麼生成release的exe
左下方的小電腦圖標,將debug改成release,重新組建,再去工程目錄下的release文件夾下就可以看到exe文件了。
可以去你的Qt安裝目錄下復制,我這里是:D:QtQt5.1.15.1.1mingw48_32in
platforms文件夾下麵包含:qminimal.dll和qwindows.dll
所在的文件夾是:D:QtQt5.1.15.1.1mingw48_32pluginsplatforms.
㈥ QT 5.5.0 怎麼設置才能實現靜態編譯
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的頭文
㈦ Qt creator 如何設置靜態編譯
Qt默認的編譯方式是動態編譯的,但是有時候你編寫的程序要發布出去,帶很多動態庫文件是很繁瑣的,此時就需要靜態編譯你的程序,Qt要實現靜態編譯必須庫文件也是靜態編譯的,可以用這個命令編譯靜態庫: 1.將C:\Qt\2010.05\qt\mkspecs\win32-g++文件中的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-reloc2.在開始菜單里找到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的頭文件選擇開源:O;選擇license:y; 3.上一條命令運行成功後再輸入命令: mingw32-make sub-src等1 ~3 小時可能就運行完了 完成後就ok了。。。