歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> VS2008下直接安裝使用Boost庫1.46.1版本

VS2008下直接安裝使用Boost庫1.46.1版本

日期:2017/3/1 9:41:08   编辑:Linux編程

Boost庫是一個可移植、提供源代碼的C++庫,作為標准庫的後備,是C++標准化進程的發動機之一。 Boost庫由C++標准委員會庫工作組成員發起,其中有些內容有望成為下一代C++標准庫內容。在C++社區中影響甚大,是不折不扣的“准”標准庫。 Boost由於其對跨平台的強調,對標准C++的強調,與編寫平台無關。大部分boost庫功能的使用只需包括相應頭文件即可,少數(如正則表達式庫,文件系統庫等)需要鏈接庫。但Boost中也有很多是實驗性質的東西,在實際的開發中實用需要謹慎。boost 在一些播放軟件和音效中指增強,比如Bass Boost,低音增強。

附上已經編譯好的庫boost1.46.1_VS2008多線程靜態庫版本

------------------------------------------分割線------------------------------------------

FTP地址:ftp://ftp1.linuxidc.com

用戶名:ftp1.linuxidc.com

密碼:www.linuxidc.com

在 2014年LinuxIDC.com\8月\VS2008下直接安裝使用Boost庫1.46.1版本

下載方法見 http://www.linuxidc.com/Linux/2013-10/91140.htm

------------------------------------------分割線------------------------------------------

Boost程序庫完全開發指南——深入C++“准”標准庫高清PDF版 http://www.linuxidc.com/Linux/2013-07/87574.htm

Ubuntu下編譯安裝boost庫 http://www.linuxidc.com/Linux/2013-07/87573.htm

Ubuntu下編譯boost 1.52b http://www.linuxidc.com/Linux/2013-02/79004.htm

Ubuntu編譯安裝boost並在eclipse C/C++中使用 http://www.linuxidc.com/Linux/2011-04/34790.htm

1.下載最新版的BOOST庫,當前最新版為1.46.1(2011-3-12發布),下載鏈接地址:http://sourceforge.net/projects/boost/files/boost/1.46.1/

2.解壓到硬盤上,其目錄構造為

boost_1_46_1/ ................................boost根目錄
index.htm ..................... www.boost.org 網站首頁
boost/ ..............................所有的Boost頭文件
lib/ .................................預編譯的二進制庫
libs/ ......................庫的Tests, .cpps, docs等等
index.html .............................庫文檔開始處
algorithm/
any/
array/
…more libraries…
status/ .........................Boost-wide test suite
tools/ ...........實用工具, e.g. bjam, quickbook, bcp
more/ .......................................一些文檔
doc/ ...............................所有庫文檔的一部分

3.打開根目錄下的index.html,在上面的“Getting Started”有介紹怎麼開始使用Boost的,大部分的Boost庫只需要包含頭文件即可,少部分需要編譯鏈接。以下是必須編譯的Boost庫:
* Boost.Filesystem
* Boost.GraphParallel
* Boost.IOStreams
* Boost.MPI
* Boost.ProgramOptions
* Boost.Python
* Boost.Regex
* Boost.Serialization
* Boost.Signals
* Boost.System
* Boost.Thread
* Boost.Wave
另外,一些庫可以是可選擇編譯的:
* Boost.DateTime (只有當你需要使用它的to_string/from_string或者serialization features, or if you're targeting Visual C++ 6.x or Borland.
* Boost.Graph (只有當你傾向解析 GraphViz 文件)
* Boost.Math (the TR1 and C99 cmath functions)
* Boost.Random (當你需要使用random_device的時候)
* Boost.Test (can be used in “header-only” or “separately compiled” mode)
4.下面開始一個無需編譯Boost,直接使用頭文件的示例:
①打開Visual Studio 2008,新建Visual C++工程,基於Win32控制台程序,工程名為example,確定之後,在彈出的對話框中“應用程序設置”打鉤上“控制台應用程序”和“空項目”,點“完成”;
②在“解決方案資源管理器”右擊example工程,選擇“屬性”→“C/C++”→“常規”→“附加包含目錄”,輸入剛才解壓Boost的目錄,比如“F:/MyCode/BOOST/boost_1_46_1”,如下圖所示:

③右擊example工程下的“源文件”→“添加”→“新建項”→左邊的“代碼”→選中右邊的“C++文件(.cpp)”,文件名為example,點“添加”,輸入以下代碼:

#include <boost/lambda/lambda.hpp>
#include <iostream>
#include <iterator>
#include <algorithm>

int main()
{
using namespace boost::lambda;
typedef std::istream_iterator<int> in;

std::for_each(
in(std::cin), in(), std::cout << (_1 * 3) << " " );
}

④點擊菜單欄上“生成”→“生成解決方案”,正常的話會編譯通過,按F5可看結果,結果如下圖所示:

這個example代碼的功能是從標准輸入中讀取一系列整型,然後使用boost::lambda使之每個數乘以3,再把結果寫進標准輸出。

更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2014-08/105253p2.htm

Copyright © Linux教程網 All Rights Reserved