Ubuntu16.04安裝boost庫


到boost官網安裝一個boost庫的壓縮包,我下的是1.69.0版本
https://dl.bintray.com/boostorg/release/1.69.0/source/boost_1_69_0.tar.gz

執行下面的命令解壓
tar -xzvf boost_1_69_0.tar.gz
 解壓出來以后,進入解壓出來的文件夾,執行下面的命令
sudo ./bootstrap.sh
在執行下面的命令,這樣頭文件就被默認安裝在/usr/local/include頭文件下,庫文件就被默認安裝在/usr/local/lib下
sudo ./b2 install
這個時候就已經安裝好了,不過在編譯的時候可能還會有一點小問題,比如有下面的代碼
#include <iostream>
#include <boost/regex.hpp>
#include <boost/algorithm/string.hpp>
using namespace std;

int main(){
string str = "data-num=\"1056\"";
boost::regex reg("\\d{1,6}");//{1,6}表示\d重復1-6次,\d表示匹配整數
boost::smatch what;
string::const_iterator begin = str.begin();
string::const_iterator end = str.end();

boost::regex_search(begin,end,what,reg);
string result(what[0].first,what[0].second);
cout << result << endl;
return 0;
}
這里用到了一個regex.hpp的庫,那么我們在編譯的時候會還需要加上相應庫的鏈接,如下(-I選項是添加頭文件的路徑,-L選項是添加庫文件的路徑,-l是具體哪個庫文件)

g++ -o test test.cc -std=c++11 -I /usr/local/include -L /usr/local/lib -lboost_regex
如果執行起來碰到下面的問題

./test: error while loading shared libraries: libboost_regex.so.1.67.0: cannot open shared object file: No such file or directory
這是因為系統不知道***.so文件在哪個位置,找不到該文件。這個時候就要在/etc/ld.so.conf中加入xxx.so所在的目錄,因為我們的.so庫文件是放在/usr/local/lib目錄下,所以要在該文件中加入這一行這個路徑就可以了。添加完以后執行下面的命令

ldconfig
這樣執行起來就會通過了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM