日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vs2012编译boost_1_54_0

發布時間:2023/12/31 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vs2012编译boost_1_54_0 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在原文上進行了修改,我的環境是VS2012 ,在編譯

注意事項:Boost 請慎用!微軟太坑爹...且直接使用GitHub上的exe文件也可以,特定版本的只能自己編譯了....汗!!!

原文地址:http://blog.csdn.net/liukang0618/article/details/9149881

Boost庫的介紹

???????Boost庫是一個經過千錘百煉、可移植、提供源代碼的C++庫,作為標準庫的后備,是C++標準化進程的發動機之一。 Boost庫由C++標準委員會庫工作組成員發起,其中有些內容有望成為下一代C++標準庫內容。在C++社區中影響甚大,其成員已近2000人。 Boost庫為我們帶來了最新、最酷、最實用的技術,是不折不扣的“準”標準庫。

??????Boost庫中比較有名的幾個庫:

???(1)Regex,正則表達式庫;

???(2)Spirit,LL parserframework,用C++代碼直接表達EBNF;

???(3)Graph,圖組件和算法;

???(4)Lambda,在調用的地方定義短小匿名的函數對象,很實用的functional功能;

???(5)conceptcheck,檢查泛型編程中的concept;

???(6)Mpl,用模板實現的元編程框架;

???(7)Thread,可移植的C++多線程庫;

???(8)Python,把C++類和函數映射到Python之中;

???(9)Pool,內存池管理;

???(10)smart_ptr,智能指針。

?

1、下載boost庫

從http://www.boost.org上下載到目前最新的boost庫,從:http://sourceforge.net/projects/boost/files/boost/1.54.0/

?

下載源代碼,為了節省流量


2、得到源代碼之后,使用vs2012的cl.exe編譯



進入到源代碼目錄中

cd G:\360Downloads\develop\PCL_Lib\boost_1_54_0

3、建立編譯工具bjam.exe----需要執行bootstrap.bat

G:\360Downloads\develop\PCL_Lib\boost_1_54_0>bootstarp.bat


4、指定編譯命令


指定msvc版本11.0對應的是vs2012,--stagedir是指定編譯后存放的目錄

?

bjam?stage?--toolset=msvc-11.0?--without-graph?--without-graph_parallel?--without-math?--without-mpi?--without-python?--without-serialization?--without-wave?--stagedir="F:\boost\boost_1_53_0\bin\vc11"?link=static?runtime-link=shared?runtime-link=static?threading=multi?debug?release


?

稍微等一會,庫就編譯好了……


5、開始使用boost


首先需要設定文件包含目錄:

我的boost庫解壓在F盤下




設定庫目錄:




“F:\boost\boost_1_53_0\”是我編譯的出來lib的目錄


然后建立我們的第一個boost項目,代碼如下:

#include "stdafx.h" #include "boost/thread.hpp" #include "iostream" using namespace std; void mythread() { cout << " hello,thread! " << endl; } int _tmain(int argc, _TCHAR* argv[]) { boost::function<void()> f(mythread); boost::thread t(f); t.join(); cout << " thread is over! " << endl; return 0; }

6.這是輸出:


總結

以上是生活随笔為你收集整理的vs2012编译boost_1_54_0的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。