精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

詳解編譯Windows平臺下靜態Qt庫

移動開發
如何編譯在Windows平臺下實現真正意義上的靜態Qt庫是本文要介紹的內容,在網上看到了這么一篇對大家有幫助的文章,與大家分享一下,具體內容來看本文詳解。

如何編譯在Windows平臺下實現真正意義上的靜態Qt庫是本文要介紹的內容,在網上看到了這么一篇對大家有幫助的文章,與大家分享一下。

編譯Windows平臺下靜態Qt庫是本文要介紹的內容,我在國內外Qt論壇上看到的最多的問題之一就是如何編譯靜態Qt庫,可見在動態鏈接庫 (Windows: .dll, Linux: .so)大勢所趨的今天,靜態鏈接庫還是具有其存在的合理性和廣泛需求。首先看看動態庫給我們帶來了什么:

1、開發時的復用性:成千上萬的各種實用庫,包含它們的頭文件,你就可以開始使用它們提供的功能;

2、編譯時的快捷化:進行過靜態鏈接編譯的人都知道,其編譯過程的時間消耗是動態鏈接的數倍倍甚至更多;

3、部署時的輕量化:如果你的程序使用操作系統自帶的動態庫,或者是一些非常流行的庫。那么部署你的軟件時,這些庫便可以不用包含在你的

4、packge里面,大大減小了其體積;

使用時的可維護性:某個庫如果發布了更新的版本,那么你只需替換這個動態庫文件,而不需要重新編譯你的整個程序。

在如今這個時不時都需要給軟件打補丁的時代,這是相當方便的。那么,她又會給我們帶來什么煩惱呢?軟件的易用性至上。所謂易用性,不單單指這個進入了這個軟件后使用起來多么多么方便,使用之前的那些過程同樣也是易用性的一部分。

用過Linux的可能都會有同感,裝個軟件真難啊,一會兒提示缺這個so庫,一會兒這個so和那個so又不兼容了,還有甚者,你還需要在你的帳戶的配置文件里設置一大堆參數……還沒安裝完,就已經放棄了使用這個軟件的念頭。我想,易用性的問題也是 Linux如此強大可是普及率遠遠不及Windows的根源吧,畢竟絕大多數的用戶需要的是一個傻瓜相機般的操作系統。

不過在Windows下,常常你也會遇到”某個dll無法找到,程序無法啟動”、”需要.net framework”之類的提示之。懂點軟件知識的,還知道去下載這個缺失的dll庫或者是下載.net的再發行庫來安裝。但是這已經大大違背了軟件易用性的原則,要知道軟件的受眾絕大多數都是與IT行業無關的人員,它們遇到這些問題時候便是束手就擒。

Visual Studio 2005后的版本更是不可理喻,它們編譯出來的C/C++程序,如果在沒有Visual Studio再發行庫的系統上運行,直接提示”應用程序沒有正確配置,重新安裝可能解決該問題”,簡直不知所云……

靜態鏈接的存在的合理性就在這里,一個可執行文件部署給用戶,用戶什么都不用做,雙擊一下就可享用。至于編譯、維護,那是開發者的事情,哪怕一次編譯要耗費一天的時間,也不能浪費用戶的時間去做一些對他來說不知所云而本可以在開發者的環節中完成的事情?;谝陨系男拍?,我研究了Windows下真正意義上的Qt靜態庫編譯方法。至于什么叫”真正意義上”,看了下文便知。

Visual Studio相關編譯選項

自己動手編譯過Qt的人可能會覺得奇怪,拿這個問題來寫這么一大段,真是小題大作。Qt的配置選項中不是寫得清楚明白-static便是編譯靜態庫嗎??墒悄阌姓嬲囘^嗎,用這個靜態庫編譯的程序拿到一個”干凈”的機器上運行,則提示”應用程序沒有正確配置……”或是”msvcrpxx.dll”沒有找到。 看來Qt是靜態了,可是Qt是用C++寫的,其中鏈接的C++運行庫還是動態的。解決這個問題,要從Visual Studio的4個編譯選項說起,它們決定了程序在鏈接階段C/C++庫的鏈接方式。

1、鏈接C/C++多線程動態庫,使用這些編譯選項,軟件部署時需要VC的再發行庫,否則就會出現上述錯誤提示。

/MD:動態鏈接多線程庫(msvcrt.lib)。使用該選項時,需要用/NODEFAULTLIB選項來忽略掉libc.lib、libcmt.lib、libcd.lib、libcmtd.lib、msvcrtd.lib庫,否則會有鏈接錯誤;

/MDd:動態鏈接多線程調試庫(msvcrtd.lib)。使用該選項時,需要用/NODEFAULTLIB選項來忽略掉libc.lib、libcmt.lib、msvcrt.lib、libcd.lib、libcmtd.lib庫,否則會有鏈接錯誤;

2、鏈接C/C++多線程靜態庫,使用這些編譯選項,軟件部署時不需要VC的再發行庫。

/MT:靜態鏈接多線程庫(libcmt.lib)。使用該選項時,需要用/NODEFAULTLIB選項來忽略掉libc.lib、msvcrt.lib、libcd.lib、libcmtd.lib、msvcrtd.lib庫,否則會有鏈接錯誤;

/MTd:靜態鏈接多線程調試庫(libcmtd.lib)。使用該選項時,需要用/NODEFAULTLIB選項來忽略掉libc.lib、libcmt.lib、msvcrt.lib、libcd.lib、msvcrtd.lib庫,否則會有鏈接錯誤。

OK,準備工作就緒,下面開始編譯真正意義上的靜態Qt庫:-)

編譯靜態Qt庫

既然找到了解決方法,這個編譯就應該沒問題了吧??墒莄onfigure時明明用-static配置了Qt,編譯結果確仍然事與愿違。仔細查看所生成的 makefile,才發現編譯選項都是/MD、/MDd。問題就出在這里啦,不過這成千上百個makefile,難道要手動一個個修改……一定有什么東西決定了makefile的生成參數。不錯!就在Qt根目錄中的mkspecs目錄里,一看名字就知道是make specification的縮寫。該目錄下,各種平臺下的各個編譯器都有一個子目錄。嘿嘿,編譯器的編譯選項就都在這里了,打開win32- msvc2008中的qmake.conf看看,找到了下面兩行嗎:

  1. [cc lang="make"]  
  2. QMAKE_CFLAGS_RELEASE = -O2 -MD -GL  
  3. QMAKE_CFLAGS_DEBUG = -Zi -MDd  
  4. [/cc] 

相信你已經知道了問題答案,將它們改成:

  1. [cc lang="make"]  
  2. QMAKE_CFLAGS_RELEASE = -O2 -MT -GL  
  3. QMAKE_CFLAGS_DEBUG = -Zi -MTd  
  4. [/cc] 

同時別忘了加入前面提到的忽略庫選項,修改QMAKE_LFLAGS_RELEASE和QMAKE_LFLAGS_DEBUG參數為:

  1. [cc lang="make"]  
  2. QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /LTCG /NODEFAULTLIB:libc.lib /NODEFAULTLIB:msvcrt.lib/NODEFAULTLIB:libcd.lib 
  3. /NODEFAULTLIB:libcmtd.lib /NODEFAULTLIB:msvcrtd.lib  
  4. QMAKE_LFLAGS_DEBUG = /DEBUG /NODEFAULTLIB:libc.lib /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:msvcrt.lib 
  5. /NODEFAULTLIB:libcd.lib /NODEFAULTLIB:msvcrtd.lib  
  6. [/cc] 

大功告成,這個時候再在Qt的根目錄下configure -static …(其它選項自行選擇),然后nmake,兩三個小時之后,真正意義上的靜態Qt庫就產生了。本人有個小建議,其實編譯demos和examples 會消耗非常多時間,你只用cd src然后nmake來編譯Qt庫,如有需要cd tools來編譯諸如QtDesigner之類的工具。

另外webkit庫的編譯是最耗時的,如果你不準備使用這個庫,那么configure加入 -no-webkit,這樣,整個編譯過程大概值耗時40-60分鐘。這時候你可以嘗試建立***個純靜態的Qt程序,不過當你鏈接的時候,仍然會出現一大堆鏈接錯誤,提示 unresolved external symbol。這個時候你只需要在你的Qt工程文件.pro里面加入:

  1. [cc lang="make"]  
  2. win32:LIBS += Imm32.lib Winmm.lib ws2_32.lib  
  3. [/cc] 

即可。至此,你的”純”靜態Qt應用程序就可以發布給用戶啦。

小結:詳解編譯Windows平臺下靜態Qt庫的內容介紹完了,希望通過本文的學習能對你有所幫助!

責任編輯:zhaolei 來源: 嘻來嚷往
相關推薦

2011-06-21 17:35:11

Qt Creator 編譯

2011-07-05 10:44:51

Qt Sqlite 靜態編譯

2011-06-21 16:40:58

Qt 靜態編譯

2011-06-23 09:54:00

VS2010 Qt 4.7.2 Qt

2011-06-21 16:51:21

Qt 靜態 編譯

2011-09-06 16:00:08

QT平臺靜態庫

2011-06-29 17:00:26

QT 靜態編譯 Debug

2011-06-29 09:33:18

Qt 編譯

2011-06-23 10:16:55

VS2010 QT 4.7.2 QT

2011-06-21 17:01:44

Qt 靜態 編譯

2011-07-05 10:03:00

Qt MYSQL 數據庫

2011-09-26 10:46:32

Android云計算開發

2011-06-09 11:11:35

QT 靜態庫 動態庫

2017-08-09 16:27:59

LinuxWMware虛擬機

2010-02-25 15:30:47

SDRAMWindows CE

2011-04-02 11:11:44

windows安裝MRTG

2012-07-06 15:10:39

跨平臺工具QtNokia

2011-06-23 14:27:48

QT QLibrary 動態庫

2011-08-17 11:28:54

Objective-C模擬開發Windows平臺

2009-04-27 16:04:47

Windows 7微軟操作系統
點贊
收藏

51CTO技術棧公眾號

日韩一级片大全| 欧美性受xxxx黒人xyx性爽| 成人午夜影视| 国产一区视频在线看| 久久久久亚洲精品国产| 91中文字幕永久在线| 日本在线一区二区| 亚洲国产一二三| 欧美亚洲一级二级| 精品人妻无码一区二区| 老司机一区二区三区| 日韩在线观看av| 国产麻豆天美果冻无码视频| 国产成人精品一区二区三区免费| 亚洲午夜电影网| 亚洲啪啪av| 手机看片1024日韩| 国产在线看一区| 日韩av免费看| 黄色小说在线观看视频| 日韩一区亚洲二区| 日韩高清免费在线| 激情av中文字幕| 国产一区高清| 欧美性猛交xxxx乱大交极品| 青青草视频国产| av小片在线| 337p粉嫩大胆噜噜噜噜噜91av| 成人黄色免费网站在线观看| 依依成人综合网| 99亚洲精品| 久久国产精品视频| 亚洲欧洲综合网| 免费成人av| 日韩高清a**址| 黄色国产在线视频| 欧美日韩黄色| 欧美另类一区二区三区| av免费网站观看| 日韩精品极品| 亚洲一区二区精品视频| 男同互操gay射视频在线看| av网站在线播放| 国产日韩欧美一区二区三区综合| 精品日产一区2区三区黄免费| 午夜精品久久久久久久99| 激情图区综合网| 国产自产女人91一区在线观看| 日本成人一级片| 久久综合激情| 国产精品第10页| 男人天堂av在线播放| 西西裸体人体做爰大胆久久久| 久久久久女教师免费一区| 中文字幕手机在线观看| 亚洲最新色图| 欧美大片大片在线播放| 久久精品www| 亚洲福利电影| 国产91精品不卡视频| 久久久久久少妇| 亚久久调教视频| 国产999精品久久久影片官网| 伊人中文字幕在线观看| 久久黄色影院| 国产精品久久久久91| 中文字幕有码视频| 激情五月婷婷综合网| 亚洲一区二区三区视频播放| 亚洲精品18在线观看| 国产精品一品视频| 亚洲免费av片| 国产伦理片在线观看| 成人在线免费小视频| 日韩最新在线视频| 97成人资源站| 黑丝一区二区三区| 97超级碰碰人国产在线观看| 国产亚洲欧美在线精品| 麻豆精品一区二区综合av| 91免费看片网站| 懂色av蜜臀av粉嫩av分享吧| 2024国产精品视频| 先锋影音亚洲资源| 羞羞的网站在线观看| 天天做天天摸天天爽国产一区| 日本三级免费观看| 欧美伊人亚洲伊人色综合动图| 欧美一区二区精品久久911| 午夜影院福利社| 国产精选一区| 欧美大胆在线视频| 天干夜夜爽爽日日日日| 精品一区二区三区久久久| 国产传媒欧美日韩| 酒色婷婷桃色成人免费av网| 1区2区3区国产精品| 亚洲午夜精品久久久久久人妖| 岛国一区二区| 亚洲爱爱爱爱爱| 国产精品久久久久久成人| 狠狠久久婷婷| 国产美女精彩久久| 欧美特级特黄aaaaaa在线看| 亚洲国产激情av| 国产美女在线一区| 亚洲欧洲专区| 亚洲免费av片| 久久一区二区三| 奇米精品一区二区三区四区| 极品尤物一区二区三区| 国产三级在线播放| 91精品1区2区| 亚洲激情 欧美| 91精品综合| 国产精品9999| 天堂91在线| 亚洲高清免费观看高清完整版在线观看| 在线视频日韩一区| 亚洲精品中文字幕99999| 欧美国产亚洲视频| 91在线你懂的| 欧美国产日产图区| 日韩avxxx| 国产精品男女| 欧美韩国理论所午夜片917电影| 中文字幕永久在线视频| 久久久久久久久久电影| 成人网站免费观看入口| 欧美视频三区| 伦理中文字幕亚洲| 一卡二卡在线观看| 国产精品婷婷午夜在线观看| 狠狠爱免费视频| 欧美日韩一本| 久久久久久久久久av| 精品人妻一区二区三区含羞草| 国产精品美女久久久久高潮| 密臀av一区二区三区| 亲子伦视频一区二区三区| 久久久久久国产精品美女| av网站免费大全| 最新久久zyz资源站| 欧美日韩一区二区三区69堂| 精品中文字幕一区二区三区av| 2021国产精品视频| 四虎在线观看| 色综合天天综合给合国产| 人妻少妇精品视频一区二区三区 | 91麻豆精品国产91久久久久久久久| av黄色免费网站| 天堂在线一区二区| 日韩av电影免费播放| 忘忧草在线www成人影院| 亚洲香蕉成视频在线观看| 免费观看日批视频| 亚洲国产精品成人综合| 亚洲精品www.| 这里只有精品在线| 99c视频在线| 69av成人| 亚洲免费成人av电影| 国产一级精品毛片| 中文字幕一区二区三区乱码在线| 欧美国产日韩另类 | 日韩最新在线视频| 国产免费无遮挡| 一区二区三区毛片| 中国一级特黄录像播放| 久久久综合网| 一区二区三区国产福利| 日本一区精品视频| 国内外成人免费激情在线视频| 亚州av在线播放| 色欧美片视频在线观看 | 亚洲国产日韩精品| 黄色网址在线视频| 日韩综合小视频| 一级黄色录像免费看| 国产亚洲精品美女久久| 日本久久久久久久久| 国产黄色在线网站| 亚洲第一网站免费视频| 男操女视频网站| 亚洲欧美激情视频在线观看一区二区三区 | 日韩av中文字幕在线免费观看| 国产成人无码一区二区在线播放| 国产精品国产自产拍高清av | 亚洲专区**| 日本成熟性欧美| av软件在线观看| 日韩成人久久久| 中文字幕在线2019| 亚洲成av人片在线观看无码| 国产精品一二三区在线观看| 国产精品一区二区久久不卡| 免费日韩中文字幕| 国内精品久久久久久久97牛牛| 日本不卡久久| 高潮久久久久久久久久久久久久 | 久久69av| 国产成人免费91av在线| 91蜜桃在线视频| 亚洲新声在线观看| 蜜桃av中文字幕| 欧美日韩视频在线观看一区二区三区 | 亚洲一级片在线观看| 久久久视频6r| 99久久综合狠狠综合久久| 欧美午夜精品理论片| 久久尤物视频| 无码人妻精品一区二区三区在线| 欧美激情在线| 中文网丁香综合网| 国产一区二区三区电影在线观看 | 性猛交xxxx| 日韩欧美国产一二三区| 中文字幕777| 欧美日韩国产精品专区 | 免费观看成人高潮| 亚洲美女av黄| 日本黄色大片视频| 日韩欧美一级精品久久| 国产又粗又长又黄| 欧美日韩久久久一区| 一级片免费在线播放| 天涯成人国产亚洲精品一区av| 欧美成人手机视频| 亚洲乱码中文字幕| 日本高清不卡免费| 国产精品午夜电影| 欧美激情亚洲色图| 久久久久久一级片| 亚洲精品成人无码| 久久色.com| 毛茸茸多毛bbb毛多视频| 国产超碰在线一区| 丰满人妻一区二区三区大胸| 久久久久免费| 国产熟人av一二三区| 免费欧美日韩| 大香煮伊手机一区| 免费精品视频在线| 黄色片在线免费| 日日嗨av一区二区三区四区| 国内自拍视频网| 美女www一区二区| xxww在线观看| 久久99国内精品| 中文字幕第66页| 国产精品自拍毛片| 成人在线电影网站| 99久久综合色| 公肉吊粗大爽色翁浪妇视频| 欧美极品少妇xxxxⅹ高跟鞋 | 国产xxx在线观看| 成人网在线播放| 香蕉视频黄色在线观看| 久久久久久免费| 毛片视频免费播放| 亚洲人成精品久久久久久| 999久久久国产| 一区二区三区视频在线看| 国产亚洲精品av| 欧美性xxxx极品hd欧美风情| 日本三级一区二区三区| 在线不卡的av| 国模无码一区二区三区| 亚洲精品一区中文| 在线毛片网站| 欧美精品制服第一页| 2021天堂中文幕一二区在线观| 91禁外国网站| 成人黄色免费网站| 亚洲一区二区三区777| 粉嫩久久久久久久极品| 日韩精品一区二区三区丰满| 999精品视频| 日韩黄色短视频| 日韩中文欧美在线| 国产不卡的av| 久久综合久久99| 国产色无码精品视频国产| 亚洲r级在线视频| 国产偷人爽久久久久久老妇app| 欧美乱妇20p| 五月婷婷六月激情| 神马久久久久久| 99re6在线精品视频免费播放| 国产精品久久久999| 99国产精品久久一区二区三区| 欧美精品免费观看二区| 亚洲精品中文字幕乱码| 黄色动漫在线免费看| 国产一区二区美女| 99久久久无码国产精品性| 亚洲精品国久久99热| 天天干天天操天天爱| 日韩一区二区在线观看视频| 日本天堂在线| 久久69精品久久久久久久电影好 | 亚洲国产综合视频| 国产精品久久久久久久岛一牛影视| 国产精选第一页| 51精品秘密在线观看| 韩国三级av在线免费观看| 欧美激情一区二区久久久| 国产资源一区| 久久精品成人一区二区三区蜜臀 | 白嫩白嫩国产精品| 亚洲春色在线视频| 亚洲一区二区网站| 亚洲丝袜在线观看| 国产精品美女www爽爽爽| 97人人澡人人爽人人模亚洲| 7777精品久久久大香线蕉| 国产无套粉嫩白浆在线2022年| 欧美黑人xxxⅹ高潮交| 日韩一区二区三区四区五区| 美女主播视频一区| 亚洲日本欧美| 免费啪视频在线观看| 亚洲视频一区在线| 中文字幕在线播放av| 亚洲人成五月天| 亚洲天堂av在线| 黑人另类av| 在线日本成人| 午夜影院福利社| 亚洲制服丝袜av| 国产成人三级在线播放| 日韩视频免费大全中文字幕| 99只有精品| 天堂√在线观看一区二区| 久久欧美肥婆一二区| 亚洲自拍偷拍一区二区| 精品日韩视频在线观看| 无码国产精品一区二区色情男同 | 成人av在线一区二区| 久久av高潮av无码av喷吹| 日韩欧美一区在线| 国内老司机av在线| 国产高清一区视频| 亚洲高清不卡| 三级男人添奶爽爽爽视频| 亚洲va中文字幕| 天堂中文字幕av| 97成人在线视频| 香蕉国产成人午夜av影院| 欧美v在线观看| 久久久精品国产免大香伊 | 日韩欧美一区二区三区在线| 亚洲精品一线| 国产精品入口免费| 一区二区毛片| 国产真人做爰视频免费| 欧美日韩一区不卡| 国产在线观看a| 国产精品区一区二区三在线播放| 亚洲二区视频| 亚洲色成人网站www永久四虎| 欧美伊人久久大香线蕉综合69| 91高清在线视频| 亚洲www在线观看| 91久久久久| 免费一级做a爰片久久毛片潮| 欧美无砖砖区免费| yellow91字幕网在线| 国产美女99p| 日韩经典一区二区| 极品魔鬼身材女神啪啪精品| 亚洲精品在线观看网站| 小草在线视频免费播放| 亚洲国产欧美一区二区三区不卡| 精品一区二区在线看| 国产在线观看免费av| 亚洲欧美国产精品久久久久久久 | 怡红院在线播放| 欧美大香线蕉线伊人久久| 久久99久久精品| 日韩黄色a级片| 在线播放日韩专区| 伊人久久噜噜噜躁狠狠躁| 欧美精品色婷婷五月综合| 中文字幕在线一区| 三级网站免费观看| 国产视频观看一区| 91久久亚洲| 午夜剧场免费在线观看| 日韩国产中文字幕| 日韩欧美激情| aⅴ在线免费观看| 亚洲美女免费在线| 国产在线高清| 国产精品一区在线播放| 日韩 欧美一区二区三区| 精品无码免费视频| 日韩在线观看成人| 亚洲警察之高压线| 欧美熟妇精品一区二区|