今天抽時間學習了一下boost庫,用c++ 做演算法,自己再去造輪子實在是浪費時間,學習boost未來工作能直接上手。
比如caffe就直接使用了boost庫, 這裡邊常用的 對於時間操作,字串操作,檔案操作,智慧型指標等,熟練使用這些能大大的加速演算法的開發時間。
1、 boost程式庫完全開發指南–深入c++標準庫 書,寫的還不錯,但是不如看英文文件更直接
3、 參考編譯文件
二、編譯過程:
解壓到某個目錄,我解壓到了d盤根目錄:d:\boost_1_60_0
(2)生成bjam.exe可執行檔案
用vs2010命令列
進入到到目錄d:\boost_1_56_0,執行booststrap.bat得到:
這時在目錄d:\boost_1_56_0生成了b2.exe、bjam.exe、project-config.jam檔案。
(3)用bjam.exe編譯
執行命令bjam stage –toolset=msvc-10.0 –build-type=complete –stagedir=」d:\boost_1_56_0\bin\vc10」 link=static runtime-link=shared threading=multi debug release
執行命令bjam stage –without-
python --toolset=msvc-10.0 –build-type=complete –stagedir=」d:\boost_1_56_0\bin\vc10」 link=static runtime-link=shared threading=multi debug release
–without-python 我電腦上提示沒有python,所以把這個庫去掉。
bjam可以參考
stage表示只生成庫(dll和lib),用install的話還會生成包含標頭檔案的include目錄。
toolset指定編譯器,vs2010用msvc-10.0。
without/with表示不編譯/編譯哪些庫。
stagedir,當使用stage時用stagedir,使用install用prefix,表示編譯生成檔案的路徑。路徑的命名最好和編譯器相關,編譯管理。
link指定生成動態鏈結庫或靜態鏈結庫。生成動態鏈結庫需使用shared方式,生成靜態鏈結庫需使用static方式。
runtime-link,動態/靜態鏈結c/c++執行時庫。有shared和static兩種方式,這樣runtime-link和link一共可以產生4種組合方式。
threading,單/多執行緒編譯。
debug/release,編譯debug/release版本。一般都是程式的debug版本對應庫的debug版本,所以兩個都編譯。
差不多需要一小時,編譯完成(中間會有警告)。
編譯好後,在根目錄會有個bin.v2資料夾,是編譯過程中的臨時資料夾,很大,可以手動刪除。
(4)在vs中使用boost庫
新建工程後需要把boost庫包含到工程中,右鍵選擇屬性,在vc++目錄的「包含目錄」中新增boost的根目錄,在「庫目錄」新增剛剛編譯生成的位置再加上路徑lib。
之後包好標頭檔案即可使用,例如乙個多執行緒的測試:
[cpp]view plain
copy
?#include 「stdafx.h」
#include 「boost/thread.hpp」
#include
using
namespace std;
void thread_func()
int _tmain(int argc, _tchar* argv)
#include "stdafx.h"
#include "boost/thread.hpp" #include using namespace std; void thread_func() int _tmain(int argc, _tchar* argv)
測試 可以執行,安裝成功
VS2010下安裝boost庫
2.我放在d cpp目錄下 解壓到當前資料夾 3.開啟vs2010 vs tools vs命令提示 4.cd d cpp boost 1 46 1 5.輸入bootstrap,便生成bjam.exe檔案 6.輸入bjam toolset msvc 10.0 variant debug,release...
VS2010下安裝boost庫
2.我放在d cpp目錄下 解壓到當前資料夾 3.開啟vs2010 vs tools vs命令提示 4.cd d cpp boost 1 46 1 5.輸入bootstrap,便生成bjam.exe檔案 6.輸入bjam toolset msvc 10.0 variant debug,release...
VS2010下安裝boost庫
2.我放在d boost目錄下 解壓到當前資料夾 3.開啟vs2010 vs tools vs命令提示 4.cd d boost boost 1 64 0 5.輸入bootstrap,便生成bjam.exe檔案 6.輸入bjam toolset msvc 10.0 variant debug,rel...