在code::block中使用boost庫

轉載請註明出處 http://blog.csdn.net/hellosijian/article/details/7215274

經過本人千辛萬苦,終於可以在code::block中使用Boost了,爲了幫助大家少走彎路,寫下這篇文章來幫助

大家,同時也爲了回饋許多我看過的blog和文章

http://blog.csdn.net/hellosijian/article/details/7215274


如何編譯boost我在這裏就不羅嗦了,網上有許多文章,大家可以看我從網上搜到的這篇,講得比較好,可以

很快就編譯好:http://blog.csdn.net/hellosijian/article/details/7215277

如果你覺得繁瑣的話我在這裏提供一個已經編譯好的Boost庫,大小34.6M,解壓後達到900多M

注意這個是boost版本是1_46_1,是動態庫(有些新手可能會糊塗,沒辦法,誰都有第一次,我也不例外),

用的編譯器是MinGW,注意是MinGw編譯器,看清楚再下

Boost庫(MinGW已編譯完成)下載地址

http://download.csdn.net/detail/hellosijian/4032085


在這裏我主要講解如何在code::block中配置boost的環境

code::block是一款跨平臺的C++ IDE.......此處省略一百萬字 

官方下載地址:http://www.codeblocks.org/downloads/binaries#windows

首先你要確保你的IDE可以編譯hello world

一 、不使用動態鏈接庫,只要按以下步驟配置就可以了

boost庫本身可以不用編譯就直接用只要包含頭文件即可,設置環境變量就ok了

點擊菜單  【設置】 【編譯器和調試器】 --> 選擇<搜索路徑>選項卡--><編譯器>選項包含你解壓路徑的boost文件

我自己的boost解壓在  E:\Program Files\STL\  自己根據自己情況定,這樣你就可以使用大多數的boost庫了。



二 、使用regex或者date_time等需要編譯的庫

如果你想使用像regex正則表達式 或者 date_time這樣的庫需要還是需要一些配置,如果你沒有做好以上步驟,請轉到前面。


首先新建一個工程如 boost test(這裏演示實使用date_time庫)

然後打開 菜單  【項目】--【構建選項】

在【搜索路徑】選項卡 的【銜接器】裏設置你編譯好的boost動態庫文件夾,如果你是下載我上面的銜接的那個庫的

話解壓後可以得到一個900多M的名字爲 boost_1_46_0_stage的文件夾,把它的路徑...\boost_1_46_0_stage\stage\lib添加到進去即可,如圖:



設置好後在鏈接動態庫,同樣打開 菜單  【項目】--【構建選項】

在連接器設置 選項卡里的銜接庫 庫中添加你要的動態庫(這樣mingw可以通過*.a庫來鏈接相應的*.dll)

點擊【添加】按鈕 這時你最後不要只天你的庫的名字(對於前面的*.a),而是添加它的全部路徑,這時你可能

糊塗了,那麼多個庫到底要添加哪個,如果你是下載上面已經編譯好的boost庫的話,在文件夾目錄下有很多個

date_time庫吧,這裏我就不介紹那麼多爲什麼了,我也沒那麼高的能力,你只要添加以 .dll.a結尾的文件就OK啦

比如我添加的是 E:\Program Files\STL\boost_1_46_0_stage\stage\lib\ibboost_date_time-mgw44-mt-1_46.dll.a

如圖:


不知道是不是codeblock 的BUG還是其他什麼原因,本人在【編譯器和調試】全局設置裏設置庫路徑的不起作用,所以只好到工程裏的局部環境變量裏而單獨添加庫的名字不起作用,非要添加全部路徑這個讓我非常糾結,浪費了我很多時間。


這樣就配置好的,運行以下代碼:


#include <iostream>
#include "boost/array.hpp"
#include   "boost/date_time/gregorian/gregorian.hpp"
using namespace std;
using namespace boost;
using namespace boost::gregorian;
int main()
{
   array<int,2> a = {1,2};
   date   d(2011,1,1);
   cout<<to_simple_string(d);
    cout << "Hello world!" << endl;
    return 0;
}
演示

如果你想單獨運行對於的程序即.exe文件,需要複製對應的.dll到你的exe文件夾下面

如果好存在問題的話,而且你的英文比較好的話這裏我再給個銜接給你看看

http://wiki.codeblocks.org/index.php?title=BoostWindowsQuickRef

上面的網頁是先建立一個全局變量,然後設置環境的,你也可以先自己設置一下一個全局變量後在進行設置



本人最近看是學習Boost庫,完全的新手菜鳥級別,歡迎大家一起學習,如果你對上面的文章有什麼問題的話可以在

下面留言或者發郵件到[email protected],我會找時間來看看。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章