㈠ ubantu怎麼安裝boost 1.60
boost中,用到了別的函數庫,所以為了使用boost中相應的功能,需要先安裝系統中可能缺失的庫
[plain] view plain
apt-get install mpi-default-dev#安裝mpi庫
[plain] view plain
apt-get install libicu-dev#支持正則表達式的UNICODE字元集
[plain] view plain
apt-get install python-dev#需要python的話
[plain] view plain
apt-get install libbz2-dev#如果編譯出現錯誤:bzlib.h: No such file or directory
如慧衫皮果在安裝以上庫失敗的話可以嘗試一下用
[plain] view plain
sudo apt-get update
然後在進行安裝。
上述函數庫裝好之後,就可以編譯boost庫了。解壓boost_1_49_0.tar.bz2,得到/boost_1_49_0,將當前工作目錄切換到此文件夾下。
打開解壓後的文件夾,裡面有個bootstrap.sh的腳本文件,運行這個腳本
[plain] view plain
./bootstrap.sh
生
成bjam,上述命令可以帶有各種選項,具體可參考幫助文檔:
./bootstrap.sh --help。其中--prefix參數,可以指定安裝路徑,如果不帶--prefix參數的話(推薦),默認路徑是
/usr/local/include 和
/usr/local/lib,分別存放頭文件和各種庫。前差執行完成後,會生成bjam,已經存在的腳本將會被自動備份。注意,boost
1.49會在當前目錄下,生成兩個文件塌飢bjam和b2,這兩個是一樣的,
編譯完成後,進行安裝,也就是將頭文件和生成的庫,放到指定的路徑(--prefix)下
[plain] view plain
./b2 install
安裝結束後可以進行測試一下
建立一個test.cpp文件
[plain] view plain
touch test.cpp
vim test.cpp
[cpp] view plain
#include<iostream>
#include<boost/bind.hpp>
using namespace std;
using namespace boost;
int fun(int x,int y){return x+y;}
int main(){
int m=1;int n=2;
cout<<boost::bind(fun,_1,_2)(m,n)<<endl;
return 0;
}
編譯
[plain] view plain
g++ test.cpp -o test
執行:
[plain] view plain
./test
結果:
[plain] view plain
3
㈡ 如何安裝boost
下載Boost庫,這里我選擇下載boost_1_55_0.zip
解壓boost文件到本地目錄(如G:\boost_1_55_0),可以發現解壓後的文件中有一個bootstrap.bat文件。
然後以管理員身份打開cmd窗口,
上述命令執行完畢後可以發現G:\boost_1_55_0下新生成了一個bjam.exe文件
在命令窗口中橘棗褲輸入語句:bjam.exe
此過程將默認根據系統已經安裝好的編譯工具(VS2008,2010,2012,2013)等編譯相應的Lib文件、頭文件等。(此步驟大概需要10分鍾)
可以看到msvc 12.0,這是因為我系統中已經安裝過了VS2013
msvc : 8.0是VS2005
msvc : 10.0是VS2010
msvc : 12.0是VS2012、VS2013
第岩喚5步執行成功後會有如下信息提示
至此我們已經完成了boost庫的安裝,下面需要配置一下VS2013了。新建一個VS2013控制台應用程序(工程名為boostest),添加如下代碼
#include "stdafx.h"
#include <boost/lexical_cast.hpp>
#include <iostream>
using namespace std;
int main()
{
using boost::lexical_cast;
int a = lexical_cast<int>("123");
double b = lexical_cast<double>("123.0123456789");
string s0 = lexical_cast<string>(a);
string s1 = lexical_cast<string>(b);
cout << "number: " << a << " " << b << endl;
cout << "string: " << s0 << " " << s1 << endl;
int c = 0;
try{
c = lexical_cast<int>("abcd");
}
catch (boost::bad_lexical_cast& e){
cout << e.what() << endl;
}
return 0;
}
添加boostest工程的包含目錄和庫目錄
包含圓簡目錄添加 G:\boost_1_55_0
庫目錄添加 G:\boost_1_55_0\stage\lib
進入代碼窗口編譯並成功運行說明BOOST庫確實已經配置成功,可以放心使用。
㈢ C++Builder2007如何安裝boost
最近突然對boost發生了興趣,但是boost安裝非常麻煩,網上介紹的方法大都不全面,搜到了一篇關於在其它編譯器安裝boost的方法,試著改為C++Builder2007適用的方法和大家分享,發布這篇文章之前只做過簡單測試,如有問題,請指出。
安裝時我的電腦只安裝了CodeGear RAD Studio2007,沒有安裝VS等其它編譯工具,如果你的電腦同時安裝了其它編譯工具,你需要謹慎,當然是否有問題我也不知道,你自己研究吧,把最後的結鎮旅敬果貼出來大家分享。
1.相關網址 官方網站:
2. 准備
您可以上boost官方網站(參看1.相關網址),下載這兩個文件(既然是免費,還是官方的好):
boost 1.36.0 的源代碼壓縮文件,推薦下載 7zip 版本:boost_1_36_0.7z「。
boost 編譯工具,請選擇windows下的可執行文件:boost-jam-3.1.16-1-ntx86.zip下載後,得到源代碼壓縮文件,如果是7zip格式的「boost_1_36_0.7z」,約25M,解壓後,將迅速變為175M,但這僅僅是源代碼及文檔的大小,在編譯過程中,所需的空間更是驚人,請您保證解壓縮後文件所在的磁碟驅動器,至少有2個G的可用空間(有人說需要更大的空間,不過我用了不到1.9G)。
boost 的編譯工具,可以根據需要,將編譯之後庫文件,及不需要編譯的頭文件,統一復制到指定的目錄,這樣有利於我們得到一個「干凈」的boost編譯結果目錄,本文將採用此方法。
下面,我們假設boost_1_36_0.7z被解壓到「X: mpoost_1_36_0」目錄下,其中「X:」表示您選用的磁碟驅動器盤符, 「鎮閉tmp」是我們事先創建的文件夾,而 「boost_1_36_0」則在解壓以後得到。我們把「X: mp boost_1_36_0」稱為「boost安裝源路徑」。
接下來,假設我們希望它boost安裝到「E: boost_1_36_0」目錄下,請事先創建好這個文件夾,我們把這個路徑,稱為「boost安裝目標路徑」。
請解壓「boost-jam-3.1.16-1-ntx86.zip」文件,得到bjam.exe,將它復制到boost安裝源路徑,即「X: mpoost_1_36_0」之下。
3. 編譯
步驟1:打開「開始」菜單,選擇「運行」,輸入cmd,進入控制台窗口,然後在其內通過cd命令,切換到boost安裝源路徑下。本例中為:
「X: mpoost_1_36_0」,則過程如下:
X: (回車)
cd tmpoost_1_36_0 (回車)
步驟2:繼續上步,請在控制御慎台內輸入:
bjam ——show-libraries (回車)
步驟3:正確情況下,將看到以下輸出內容: The following libraries require building:
- date_time
- filesystem
- function_types
- graph
- iostreams
- math
- mpi
- program
_options
- python
- regex
- serialization
- signals
- system
- test
- thread
- wave
步驟4:這里列出的是所有需要編譯的boost模塊,但我們將放棄對以下模塊的編譯: wave、mpi、 python、math、graph.這些模塊的具體含義,大家如有需要,請自行查明。
步驟5:繼續上步,在控制台內輸入: bjam install --toolset=borland --prefix="E:oost_1_36_0" debug --without-wave --without-mpi --without-python --without-math --without-graph (回車)
步驟6:請特別注意,要更換為您自己的「boost安裝目標路徑」。其它部分作如下說明:
步驟7:—— 是兩個連續的減號,=前後均不能夾帶空格,除路徑之外,參數都是小寫字母。
步驟8:——toolset 表示採用borland編譯。因此,要正確編譯boost,請您一定事先已安裝C++Builer2007.
步驟9:debug表示我們首先編譯「調試版」。現在很多人在安裝boost後,使用時總是提示缺少某個帶「-d-」的lib文件,實際就是缺少這一步,它是C++Builder2007在debug時所需要的。
步驟10:多個 ——without 指定了所要放棄編譯的模塊。你也可以根據你的需要,在此增加或去掉某個模塊。
步驟11:回車後,控制台內將出現大量看似奇奇怪怪地文字,最後能看到以下內容,就表示成功完成本步:
failed updating 2 targets.
skipped 31 targets
updated 341 targets
這個需要比較長的時間,你可以休息一下,做點其它事,時間多長取決於你的計算機。我花了15分鍾左右。
4. release版本在控制台內輸入: bjam install --toolset=borland --prefix="E:oost_1_36_0" release --without-wave --without-mpi --without-python --without-math --without-graph (回車)
改變的是「debug」更換為「release」。回車後開始發行版的boost庫編譯。現在網上提供的方法大多都是這一步編譯出的lib文件,即文件名不帶「-d-」的lib文件,如果你需要將你的項目release就需要這一步。
花費的時間和debug差不多。
5. 更加完美如果你要完全發布你的項目,那你需要這一步,否則你會得到缺少某個文件名中帶有「-s-」的lib文件的提示。
如果您的硬碟還有很大的空閑,您可以完整地編譯boost.如果你只是研究boost,你不需要這一步。
boost完全編譯需要比較長的等待,而且在空間需要的也比較多。我用了一個小時左右,時間長短取決於你的系統。
完整編譯boost的命令行:
bjam install ——toolset=borland ——prefix="您的oost安裝目標路徑" ——build-type=complete
6. 說明
檢查「boost安裝目標路徑」,應該可以看到兩個子目錄位於其內:「include」及「lib」,前者保存著所有採用純頭文件形式提供的boost代碼文件;後者則保留著上一步的編譯結果,這些庫文件首先可以區分為以下三種形式:
「動態鏈接庫」,擴展名以。dll結束「導入庫」,擴展名以。lib結束,且文件名以版本號1_36結束「靜態鏈接庫」,以擴展名。lib結束。
然後三種形式再次區分為「發行版」和「調試版」,後者的文件名比前者多出一個「-d-」修飾。另外我們還可以看到所有庫文件名中都帶有「-mt-」字樣,這是表示這些庫都支持「多線程/Multithreads」。
請保存「boost_1_36_0.7z」及「boost-jam-3.1.16-1-ntx86.zip」兩個文件,然後,建議您將 「boost安裝源路徑」下的doc文件夾——這是boost的說明文檔——復制到「boost安裝目標路徑」下,然後,您可以放心地刪除「boost安裝源路徑」。
7. 結束打開C++Builder2007. 7.1. Project-Default Options-C++Builder設置。在Include Path添加前面的「includeoost-1_36」所在的目錄,在Library Path添加「lib」所在的目錄。
7.2. Tools-Options設置。
C++Options-Paths and Directories.在此如上步設置。
終於結束了,非常感謝那些在網上無償發布技術的大佬們,是你們讓這個世界變得更加五彩繽紛。在此也鄙視一下微軟的黑屏計劃,支持一下番茄花園,雖然這是微不足道的。
測試一下你的安裝。 #include vcl.h
#pragma hdrstop
#include "Unit1.h"
//#include boost/regex.hpp
#include boost/regex.hpp
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
boost::regex reg("(I.*)");
bool b=boost::regex_match( "I love ydlchina.", reg);
if(b==true)
ShowMessage("天哪,你成功了!");
}
//---------------------------------------------------------------------------
在debug下運行試試,再在release試試。(記得還要在Project Manager或Configuration Manager選release,只有這樣測試才完全)
㈣ vs配置PCL無法打開BOOST源文件怎麼辦
1,到官網下載最新的boost,這里我下載的1-63版本.
2,安裝,解壓後運行bootstrap.bat文件。稍等一小會就OK。
3,編譯boost庫。注意一定要使用VS2015的x86本機工具命令提示,這個可以在VS2015的安裝菜單裡面找到。進入命令行提示,輸入下面的內容:
bjam -j4 --debug-symbols=on --build-type=complete toolset=msvc-14.0 threading=multi runtime-link=shared address-model=32
注意這里指定的運行庫類型是動態鏈接庫:
runtime-link=shared
當然也可以選擇靜態庫,這樣指定即可:
runtime-link=static
根據電腦配置,太低可能要30分鍾到一小時。然後等待編譯完畢。
㈤ 在linux上運行boost庫的問題
我系統是ubuntukylin14.04
然後今天去BOOST下了最新版的boost1.57版
下載下來的壓縮文件畝寬我解壓到/opt目團耐陸錄下即/opt/boost_1_57_0
然後
cd /opt/塌頃boost_1_57_0;
./boststrap;
./b2
這里b2命令執行完成後顯示:
The Boost C++ Libraries were successfully built!
The following directory should be added to compiler include paths:
/opt/boost_1_57_0
The following directory should be added to linker library paths:
/opt/boost_1_57_0/stage/lib
然後我找了一段例子
C/C++ code?
1
2
3
4
5
6
7
8
9
10
#include<iostream>
#include<boost/bind.hpp>
using namespace std;
using namespace boost;
int fun(int x,int y){return x+y;}
int main(){
int m=1;int n=2;
cout<<boost::bind(fun,_1,_2)(m,n)<<endl;
return 0;
}
用g++編譯的時候提示
bst.cxx:2:31: fatal error: boost/bind.hpp: 沒有那個文件或目錄
#include<boost/bind.hpp>
^
compilation terminated.
㈥ boost如何完全卸載或者更新版本跪求大神~~~~
這你可以下個騰訊電腦管家,因為在軟體管理功能內,可以對系統內所裝軟體進行卸載、安裝及更新的多項管理,是款非橋喚老常實用了管理軟體。解決你這問題挺合適的。
打開騰訊電腦管鏈纖家——工具箱敏升——軟體管理
㈦ 我的壓縮包里有很多個.exe到底是解壓哪個啊有boost.exe GDshell.exe gpatch.exe launch.exe.........
那個.exe文件不孝侍是解壓的 你把你二個下載的文件放在同一個文件夾里 你打開一個帶.exe這個文件,按照步驟一步步來,在解壓的過程會很慢 大概要10分鍾左右 等待完成了 桌面就有圖標了,在打開就可以玩,但是還要等待巧戚吵游戲的更新仔鄭,更新完了就可以進入游戲了
。