精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产色无码精品视频国产| 好吊色视频988gao在线观看| 欧美日韩综合一区二区三区| 欧洲grand老妇人| 7777精品伊人久久久大香线蕉的| 熟妇熟女乱妇乱女网站| 免费a级片在线观看| 视频一区在线视频| 久久99精品久久久久久青青91| 国产女主播在线播放| se69色成人网wwwsex| 亚洲综合在线观看视频| 亚洲精品久久区二区三区蜜桃臀 | 最近中文字幕无免费| 狠狠操一区二区三区| 亚洲国产精品成人久久综合一区| 97人人澡人人爽| а中文在线天堂| 伊人成人在线| 中文字幕亚洲图片| 天天插天天射天天干| 95精品视频| 色综合天天综合网天天狠天天| 美女黄色片网站| 成人三级黄色免费网站| 99在线精品观看| 91免费看蜜桃| 一区二区三区www污污污网站| 香蕉成人久久| 久久久久久美女| 岛国毛片在线观看| 久久在线免费| 国产一区二区三区精品久久久| 美女扒开腿免费视频| 国产精品视频一区视频二区| 欧美性xxxxxxxx| 国产精品亚洲αv天堂无码| 欧美色图天堂| 亚洲人成精品久久久久久| 亚洲福利av在线| 免费人成黄页在线观看忧物| 91小视频在线免费看| 国产精品美女诱惑| 人妻少妇精品无码专区| 国产成人综合在线播放| 96pao国产成视频永久免费| 中文字幕人妻互换av久久| 视频一区在线播放| 国产精品久久久久久久久久久久 | 久久嫩草捆绑紧缚| av一区二区在线播放| 亚洲性夜色噜噜噜7777| 色婷婷在线影院| 亚洲宅男网av| 国产亚洲aⅴaaaaaa毛片| 色无极影院亚洲| 国产传媒欧美日韩成人精品大片| 亚洲男人天堂网站| 少妇视频在线播放| 色呦哟—国产精品| 久久艹在线视频| 免费在线视频观看| 在线欧美三区| 欧美亚洲国产视频| 中文字幕在线日本| 久久国产尿小便嘘嘘| 91免费在线视频网站| 精品国产av一区二区| 粉嫩在线一区二区三区视频| 国产一区二区三区无遮挡| 日本电影一区二区在线观看| 国产色一区二区| 制服丝袜综合日韩欧美| 色呦呦在线资源| 亚洲成av人片一区二区三区| 成人小视频在线看| 国产精品亚洲成在人线| 宅男噜噜噜66一区二区66| 乳色吐息在线观看| 五月激激激综合网色播| 在线日韩精品视频| 欧美三级黄色大片| 一本久久知道综合久久| 国产精品亚洲综合天堂夜夜| 99久久国产免费| 日韩欧美天堂| 亚洲深夜福利网站| 波多野结衣在线网址| 伊人久久大香线蕉综合热线| 欧美专区第一页| 国产一区二区网站| 91在线精品一区二区三区| 日本一区视频在线| 91麻豆免费在线视频| 天天色综合天天| 中文字幕 日韩 欧美| 狠狠久久伊人| 按摩亚洲人久久| 中文字幕激情小说| 国产成人在线免费观看| 日韩hmxxxx| 3344国产永久在线观看视频| 欧美日韩日日摸| 真人bbbbbbbbb毛片| 天天射综合网视频| 日本亚洲精品在线观看| 亚洲第一色视频| 国产精品三级视频| 免费在线观看亚洲视频| 成人短视频软件网站大全app| 亚洲精品一区在线观看香蕉| 可以直接看的黄色网址| 日本不卡一区二区三区| 国产精品一区二区三区不卡 | 国产一区日韩| 欧美—级高清免费播放| 中文字幕+乱码+中文乱码91| 成人精品国产福利| 熟女熟妇伦久久影院毛片一区二区| 国产福利片在线观看| 欧美一区二区国产| 国精产品一区一区| 视频一区二区三区中文字幕| 国产伦精品一区二区三区视频免费| 黄色免费在线观看| 国产精品久久久久久久久动漫| 给我免费播放片在线观看| 亚洲高清影院| 中文字幕欧美日韩精品| 91久久国产综合久久91| 白白色 亚洲乱淫| 欧美乱做爰xxxⅹ久久久| 色综合视频一区二区三区日韩| 亚洲欧美一区二区精品久久久| 久久一级黄色片| 国产一区美女在线| 中日韩在线视频| 欧美久久久网站| 国产亚洲精品日韩| 久久这里只有精品9| 久久久影视传媒| 免费黄色日本网站| 色哟哟精品丝袜一区二区| 国内揄拍国内精品| 色欲久久久天天天综合网| 亚洲狠狠丁香婷婷综合久久久| 岛国av免费在线| 婷婷综合社区| 成人写真福利网| 成人av福利| 日韩欧美在线影院| 久久久久99精品成人片毛片| 成人一区二区在线观看| 妞干网在线观看视频| 国产精品巨作av| 97超碰蝌蚪网人人做人人爽| 外国精品视频在线观看| 久久综合狠狠综合久久综合88| xxxx18hd亚洲hd捆绑| 首页亚洲中字| 国产mv久久久| 免费黄色在线网站| 日韩欧美综合在线| 日本天堂在线视频| 91麻豆国产福利精品| 国产a视频免费观看| 精品久久成人| 91亚洲国产成人精品性色| 国产成人在线视频免费观看| 精品国产91亚洲一区二区三区婷婷| 国产污片在线观看| 美日韩一级片在线观看| 在线视频91| 日韩中文字幕在线一区| 国内免费精品永久在线视频| 飘雪影院手机免费高清版在线观看| 日本韩国欧美三级| 国产麻豆a毛片| 成人午夜激情视频| 国产综合免费视频| 久久精品亚洲人成影院| 国产精品久久久久久久久婷婷| 久久青草伊人| 中文国产亚洲喷潮| www三级免费| 一本色道**综合亚洲精品蜜桃冫| www.黄色com| 成人午夜伦理影院| 日韩av手机版| 国产综合亚洲精品一区二| 欧美日本国产精品| 成人在线精品| 91成品人片a无限观看| av福利在线播放| 欧美mv和日韩mv国产网站| 天天干,天天干| 亚洲综合激情另类小说区| av中文字幕免费观看| 国产精品自拍网站| 亚洲国产精品毛片av不卡在线| 欧美一区二区| 水蜜桃一区二区| 美女一区二区在线观看| 国产在线不卡精品| 在线看片国产福利你懂的| 久久国产天堂福利天堂| 久青青在线观看视频国产| 欧美一区二区三区在线视频| 国产美女激情视频| 一区二区三区日本| 美女网站视频色| 91在线观看高清| 少妇丰满尤物大尺度写真| 日韩av一级片| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 在线中文字幕亚洲| 色狠狠久久av五月综合| 少妇高潮一区二区三区| 粉嫩高清一区二区三区精品视频| 久久久加勒比| 日本道色综合久久影院| free性欧美| 欧美疯狂做受xxxx高潮| 日p在线观看| 在线播放日韩专区| 你懂得在线网址| 日韩av在线网| 黄色片网站免费在线观看| 91精品国产一区二区人妖| 中文无码av一区二区三区| 色综合欧美在线视频区| 男人的天堂一区二区| 亚洲一区二区三区四区在线观看| 小嫩苞一区二区三区| 亚洲国产精品成人综合| 黄色三级生活片| 国产无遮挡一区二区三区毛片日本| 国产精品无码在线| www.在线欧美| 国产精品三级在线观看无码| av在线播放一区二区三区| 在线观看一区二区三区四区| 福利视频网站一区二区三区| 久久久久久久久久久久久久久国产 | 亚洲精品国产综合区久久久久久久| 午夜老司机福利| 精品免费日韩av| 理论片中文字幕| 亚洲大胆人体视频| 男人天堂av网| 亚洲福利在线视频| 无码国精品一区二区免费蜜桃| 欧美天天综合色影久久精品| 可以免费看的av毛片| 天天做天天摸天天爽国产一区 | 99久久99| julia中文字幕一区二区99在线| 99在线看视频| 黄色网一区二区| 免费看国产精品一二区视频| 在线观看欧美理论a影院| 日本一区二区三不卡| 欧美成人精品一区二区三区在线看| 亚洲最新在线| 欧美精品三级| 男女超爽视频免费播放| 久久精品亚洲一区二区| www.日本一区| 国产福利一区二区三区视频在线| 动漫av在线免费观看| 久久综合九色综合欧美就去吻| 东方伊人免费在线观看| 亚洲人成网站精品片在线观看| 国产亚洲自拍av| 色诱视频网站一区| 国产一区二区波多野结衣| 欧美不卡一区二区| 青青草免费在线| 日韩亚洲成人av在线| 国产理论电影在线| 国产精品99久久久久久人| 日韩欧美专区| 精品日产一区2区三区黄免费 | 国产精品热久久久久夜色精品三区| 五月天av网站| 日韩欧美中文在线| 国产乱人乱偷精品视频a人人澡| 精品国内二区三区| 国产一区二区影视| 欧美激情精品久久久久久大尺度| 国产综合色区在线观看| 99电影网电视剧在线观看| 国产伦一区二区三区| 欧美一级爱爱视频| 日韩国产在线观看| wwwww在线观看| 国产精品网站在线| 日本亚洲色大成网站www久久| 欧美午夜电影网| 少妇高潮久久久| 精品国产一区二区三区四区在线观看 | 午夜精品免费视频| 91精品国产经典在线观看| 国产日韩一区二区| 国产精品久久占久久| 国产熟人av一二三区| 成人黄色一级视频| 成年人视频软件| 日本久久一区二区| 黄色一级大片在线免费看国产| 中文在线不卡视频| 欧美男人天堂| 99在线免费观看视频| 欧美综合在线视频观看 | 日本久久免费| 粉嫩av四季av绯色av第一区| 99精品美女| 欧美日韩在线免费播放| 99久久99久久精品免费观看| 欧美成人精品欧美一级私黄| 欧美日韩亚洲综合一区二区三区 | 日韩中文视频免费在线观看| 中文字幕色婷婷在线视频| 91嫩草视频在线观看| 国产精品久久久久蜜臀| 一区二区三区网址| 久久久精品免费免费| 五月天综合激情| 精品国产人成亚洲区| 午夜小视频在线观看| 91久久久久久国产精品| 日本道不卡免费一区| 任你操这里只有精品| 久久众筹精品私拍模特| 中文字幕超碰在线| 日韩黄色高清视频| 国产在线看片免费视频在线观看| 国产福利久久| 一区免费在线| 女同性恋一区二区三区| 亚洲国产精品嫩草影院| 亚洲免费不卡视频| 久久乐国产精品| 精品国产一区二区三区成人影院| 国产免费内射又粗又爽密桃视频| 韩国成人在线视频| 国产精品 欧美激情| 欧美一二三区在线| 调教一区二区| 国产精品免费在线播放| 亚洲欧洲一区二区天堂久久| 五月开心播播网| 欧美性xxxx极品hd满灌| 九色网友自拍视频手机在线| 国产精品444| 久久人人88| 熟妇无码乱子成人精品| 亚洲在线中文字幕| 五月激情婷婷网| 日韩av免费在线看| 欧美一区2区| 亚洲精品视频三区| 亚洲一区二区不卡免费| 天堂在线观看av| 国产成人综合久久| 99久久这里只有精品| 成人做爰69片免费| 黑人巨大精品欧美一区免费视频 | 白白在线精品| 男人亚洲天堂网| 国产精品久久久久久久久图文区| 91精品人妻一区二区三区果冻| 久久国产精品偷| 天天躁日日躁狠狠躁欧美巨大小说| 苍井空浴缸大战猛男120分钟| 国产精品久久一卡二卡| 亚洲国产日韩在线观看| 欧美在线观看网址综合| 成人在线免费视频观看| 在线中文字日产幕| 在线精品视频一区二区| av网站免费在线观看| 国外成人免费视频| 久久精品国产秦先生| 国产午夜福利片| 在线日韩中文字幕| 激情av综合| 不卡中文字幕在线观看| 天天操天天干天天综合网| 中文字幕在线播放| 国产在线精品一区| 黄色日韩网站视频| 国产微拍精品一区| 久久精品国产成人精品| 羞羞答答一区二区| 国模大尺度视频| 色婷婷av一区二区| 国产经典三级在线| 一本色道久久综合亚洲精品婷婷| av一二三不卡影片|