真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Boost編譯鏈接

頭文件就是庫

發(fā)展壯大離不開廣大客戶長期以來的信賴與支持,我們將始終秉承“誠信為本、服務(wù)至上”的服務(wù)理念,堅(jiān)持“二合一”的優(yōu)良服務(wù)模式,真誠服務(wù)每家企業(yè),認(rèn)真做好每個細(xì)節(jié),不斷完善自我,成就企業(yè),實(shí)現(xiàn)共贏。行業(yè)涉及白烏魚等,在重慶網(wǎng)站建設(shè)公司、成都全網(wǎng)營銷、WAP手機(jī)網(wǎng)站、VI設(shè)計、軟件開發(fā)等項(xiàng)目上具有豐富的設(shè)計經(jīng)驗(yàn)。

使用者最常問的問題就是“我該怎么安裝Boost”,這個也是我一開始最關(guān)心的問題,Boost這點(diǎn)做的很好,將大部分實(shí)現(xiàn)都封裝在頭文件里,所以對于一些基本的Boost庫,其實(shí)是不需要安裝的,只需要將頭文件include到自己的程序里,當(dāng)然前提是你把Boost的所有用到的頭文件都拷貝了一份。

Boost是如何做到這點(diǎn)的?

這是因?yàn)锽oost的頭文件(*.hpp)包含了模板和內(nèi)聯(lián)函數(shù),這點(diǎn)隨便找一個hpp文件來看你就明白了,所以不需要去靜態(tài)鏈接或者動態(tài)鏈接二進(jìn)制lib庫了。

不過Boost的某些庫還是需要生成二進(jìn)制的庫的,如果你要使用他們,必須編譯安裝哦,他們是:

Boost.Filesystem

Boost.IOStreams

Boost.ProgramOptions

Boost.Python

Boost.Regex

Boost.Serialization

Boost.Signals

Boost.Thread

Boost.Wave

技巧1

可以通過在VS預(yù)處理器中添加BOOST_LIB_DIAGNOSTIC,在編譯的output窗口中輸出程序具體鏈接了哪些boost庫以及鏈接順序

技巧2

可以通過修改源碼boost/config/user.hpp中,取消// #define BOOST_ALL_NO_LIB的注釋,重新編譯Boost源碼,關(guān)閉Boost自動鏈接

在如下一種情況下需要關(guān)閉自動連接功能:因?yàn)閍sio自動連接了system,data_time和regex庫,其實(shí)平常只用到了system庫,而data_time和regex,如果不使用deadline_timer和asyn_read_until之類的東西的話,是不用連接的.

命名規(guī)則

libboost_filesystem-vc80-mt-sgdp-1_42.lib

前綴:統(tǒng)一為lib,但在Windows下只有靜態(tài)庫有l(wèi)ib前綴;

庫名稱:以"boost一”開頭的庫名稱,在這里是boost_filesystem;

編譯器標(biāo)識:編譯該庫文件的編譯器名稱和版本,在這里是-vc80;

多線程標(biāo)識:支持多線程使用-mt,沒有表示不支持多線程;

ABI標(biāo)識:這個標(biāo)識比較復(fù)雜,標(biāo)識了Boost庫的幾個編譯鏈接選項(xiàng);

s:  靜態(tài)庫標(biāo)識;

gd:debug版標(biāo)識;

p:  使用STlport而不是編譯器自帶STL實(shí)現(xiàn);

版本號:Boost庫的版本號,小數(shù)點(diǎn)用下畫線代替,在這里是1_42;

擴(kuò)展名:在Windows上是lib,在Linux等類Unix操作系統(tǒng)上是a或者.so。

boost 鏈接出錯無法打開libboost_thread-vc140-mt-sgd

第一個鏈接說明,當(dāng)選擇什么樣子的運(yùn)行時庫,程序在編譯的時候,就會去調(diào)用相應(yīng)編譯時期指定的版本,比如s代表的是運(yùn)行時靜態(tài)庫,gd代表的是調(diào)試模式,當(dāng)出現(xiàn)無法打開上面的情況下,說明放在指定目錄下的boost編譯庫可能是動態(tài)庫,跟目標(biāo)的不一致,因此需要調(diào)整匹配上

“多線程(/MT)”: release版本多線程靜態(tài)庫

    需要使用  libboost_regex-vc90-mt-s-1_44.lib

 

“多線程調(diào)試(/MTd)”:debug版本多線程靜態(tài)程庫

    需要使用 libboost_regex-vc90-mt-sgd-1_44.lib

 

 

“多線程 DLL(/MD)”: release版本多線程動態(tài)庫

    需要使用

靜態(tài)boost 庫連接

libboost_regex-vc90-mt -1_44.lib

 

動態(tài)boost 庫連接, 需要在引入庫前加上“l(fā)ib”,

運(yùn)行需要帶上對應(yīng)的dll

boost_regex-vc90-mt-1_44.lib  à在引入庫前加上“l(fā)ib”

         boost_regex-vc90-mt-1_44.dll

 

 

“多線程調(diào)試 DLL(/MDd)”: debug版本多線程動態(tài)庫

      需要使用

靜態(tài)boost 庫連接

libboost_regex-vc90-mt-gd-1_44.lib

 

動態(tài)boost 庫連接, 需要在引入庫前加上“l(fā)ib”,

運(yùn)行需要帶上對應(yīng)的dll

boost_regex-vc90-mt-gd-1_44.lib  à在引入庫前加上“l(fā)ib”

         boost_regex-vc90-mt-gd-1_44.dll

http://www.cnblogs.com/bluedoctor/p/6236905.html

http://blog.csdn.net/xucuiping_/article/details/5979532


當(dāng)前標(biāo)題:Boost編譯鏈接
轉(zhuǎn)載來于:http://weahome.cn/article/pggsos.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部