成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

vs編譯靜態(tài)庫 QtCreator怎樣設(shè)置才能實(shí)現(xiàn)靜態(tài)編譯?

QtCreator怎樣設(shè)置才能實(shí)現(xiàn)靜態(tài)編譯?  Qt默認(rèn)的編譯方式是動(dòng)態(tài)編譯的,但是有時(shí)候編寫的程序要發(fā)布出去,帶很多動(dòng)態(tài)庫文件是很繁瑣的,此時(shí)就需要靜態(tài)編譯程序,Qt要實(shí)現(xiàn)靜態(tài)編譯必須庫文件也是靜態(tài)

QtCreator怎樣設(shè)置才能實(shí)現(xiàn)靜態(tài)編譯?

  Qt默認(rèn)的編譯方式是動(dòng)態(tài)編譯的,但是有時(shí)候編寫的程序要發(fā)布出去,帶很多動(dòng)態(tài)庫文件是很繁瑣的,此時(shí)就需要靜態(tài)編譯程序,Qt要實(shí)現(xiàn)靜態(tài)編譯必須庫文件也是靜態(tài)編譯的,可以用這個(gè)命令編譯靜態(tài)庫:   

1.將C:Qt2010.05qtmkspecswin32-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并運(yùn)行,輸入命令: configure -static -debug-and-release -no-exceptions -L "C:Qt2010.05qtinclude" -L "C:Qt2010.05qtlib"   -L指定一下路徑,防止用到vc的頭文件   選擇開源:O;選擇license:y;   

3.上一條命令運(yùn)行成功后再輸入命令: mingw32-make sub-src   等1 ~3 小時(shí)可能就運(yùn)行完了 完成后就可以了。   

如何靜態(tài)編譯發(fā)布Qt應(yīng)用程序?

如果你說的是Qt程序的話,靜態(tài)編譯就得自行從源碼開始編譯Qt靜態(tài)庫,官網(wǎng)預(yù)編譯的版本是不包含靜態(tài)庫的。

這個(gè)很復(fù)雜,請(qǐng)參考qt-everywhere-opensource 中提供的編譯幫助。注意如果使用miongw的話,gcc版本最好不要是4.6.2。這個(gè)版本比較特殊,但是它是mingw官方版的最新打包版本。如果你說的是非qt庫依賴的話,有兩種mingw和vs,前者有部分發(fā)行版默認(rèn)去除了dll依賴,直接連接的靜態(tài)庫,后者非常不推薦使用靜態(tài)庫,畢竟它加載的是系統(tǒng)常用dll,基本上所有系統(tǒng)都是推薦安裝的運(yùn)行時(shí)環(huán)境,用靜態(tài)庫吃力不討好。