windows下boost库的基本使用方法

转自:http://blog.csdn.net/lp310018931/article/details/47791143

因为boost都是使用模板的技术,所以所有代码都是写在一个.hpp头文件中。这样boost中的大部分内容是不需要编译生成相应的链接库,只需要设置下面的包含目录(或者设置一下环境变量),在源文件中包含相应的头文件就可以使用了。少部分库需要生成链接库来使用。

下面介绍完整安装boost库的方法:

1、首先到boost官网去下载最新的版本的boost库:

http://www.boost.org/


2、解压文件,在命令提示符中打开到boost库的根目录下:

双击bootstrap.bat文件,生成bjam.exe,执行以下命令:

bjam --toolset=msvc --build-type=complete stage

或者直接双击bjam.exe.

等待程序编译完成,大约要两个小时左右,会在boost根目录下生成bin.v2和stage两个文件夹,其中bin.v2下是生成的中间文件,大小在2.7G左右,可以直接删除。stage下才是生成的dll和lib文件。

bjam说明

boost自带一套编译工具bjam,bjam本身是跨平台的,并且也要自行编译出来。在boost目录下有bootstrap.sh和bootstrap.bat两个脚本分别用来编译*nix和windows下的bjam。bootstrap脚本可以传入参数,以在编译bjam过程中生成特定的编译boost的配置。这些配置保存在新生成的project-config.jam里,但还可以在运行bjam的时候再传入参数来覆盖。同时生成的b2是bjam的代理,运行哪个的效果都差不多。 
在终端下运行 
bjam --show-libraries 
会列出所有要编译的库。 
真正编译时,可以传入–with-xxx来选择编译哪些库,或者传入–without-xxx来选择不编译哪些库。如果不传则会读取project-config.jam的设置,如果也没有则是编译全部的库。 
更多的参数可以用 
bjam --help 
来查看。例如编译成静态库还是动态库,运行时库是静态的还是动态的,编译完后要不要安装等。

注意: 
旧版本的boost可能会存在编译问题,尽量用新的就好。bjam在*nix和windows支持的参数有不同。



3、打开vs:

视图->属性管理器->当前项目->Debug|Win32->Microsoft.Cpp.Win32.user双击

在弹出的属性对话框中:

通用属性->VC++目录:"包含目录": boost的根目录,例: D:\Visual Stdio 2013\lipeng\boost\boost_1_58_0

"库目录": stage下的链接库目录,例:D:\Visual Stdio 2013\lipeng\boost\boost_1_58_0\stage\lib

通用属性->链接器->常规:"附加库目录":同上面的"库目录",例:D:\Visual Stdio 2013\lipeng\boost\boost_1_58_0\stage\lib


至此环境就配置好了,下面测试一下:


#include <iostream>  
#include <vector>  
#include <iterator>  
#include <algorithm>  
  
#include <boost/timer.hpp>  
#include <boost/progress.hpp>  
  
#include <libs/date_time/src/gregorian/greg_names.hpp>  
#include <libs/date_time/src/gregorian/date_generators.cpp>  
#include <libs/date_time/src/gregorian/greg_month.cpp>  
#include <libs/date_time/src/gregorian/gregorian_types.cpp>  
  
#include <boost/date_time/posix_time/posix_time.hpp>  
  
using namespace boost;  
  
int main()  
{  
    boost::timer t;  
  
    boost::progress_display pd(100);  
  
    for (int i = 0; i < 100; ++i) //进度条  
    {  
        ++pd;  
    }  
  
    boost::gregorian::date dt(2009, 12, 8); //date_time 库  
    assert(dt.year() == 2009);  
    assert(dt.day() == 8);  
    boost::gregorian::date::ymd_type ymd = dt.year_month_day();  
    std::cout<<"\n"<<ymd.year<<"/"<<ymd.month<<"/"<<ymd.day<<" the day is "  
        <<dt.day_of_year() <<" days of this year"<< std::endl;  
  
    std::cout << boost::gregorian::to_iso_extended_string(dt) << std::endl; //转换为其他格式  
    std::cout << boost::gregorian::to_iso_string(dt) << std::endl;  
    std::cout << boost::gregorian::to_simple_string(dt) << std::endl<<std::endl;  
  
    //对数组排序操作  
    std::vector<int> test_vc(100);  
    std::vector<int>::iterator beg_it = test_vc.begin();  
    std::vector<int>::iterator end_it = test_vc.end();  
    std::srand(std::time(NULL));  
  
    std::for_each(beg_it, end_it, [](int& n){n = rand(); });  
    std::copy(beg_it, end_it, std::ostream_iterator<int>(std::cout, " "));  
    std::cout << std::endl << std::endl;  
    std::sort(beg_it, end_it, std::greater<int>());  
    std::copy(beg_it, end_it, std::ostream_iterator<int>(std::cout, " "));  
    std::cout << std::endl<<std::endl;  
  
    boost::posix_time::ptime pt(boost::gregorian::date(2005, 2, 6));  
  
    std::cout << t.elapsed() << "s" << std::endl; //程序运行时间  
  
    system("pause");  
  
    return 0;  
}




程序正确运行:




额外说明

bjam/b2命令举例:

使用不同的命令对你使用boost也会产生很大的影响,因为CPU速度和硬盘现在都已经不是大问题了,所以本例中选择了除了不必要库的完全编译,当然了,你时间够,硬盘够,可以完全编译

解释完以上的命令后,再说完全编译的后果。

1.toolset:表示编译器工具,我安装的是VS2010,所以是msvc-10(如果你是VS2005,可以使用msvc-8.0 VS2008是msvc-9.0)

2.architecture:表示架构,也就是你的CPU架构,x86,x64,因为我安装的是win7 32位,所以使用了x86的架构

3.instruction-set:表示指令集,依然是8086指令集

4.address-model:表示地址长度为32位

5.link:表示生成动态/静态链接库,动态链接库是shared,静态链接库是static,一般都会编译成静态库,因为给出程序的时候打包boost的库会非常庞大

6.variant:表示生成的Debug或者release版本,一般情况下会两种版本都会编译出来的

7.threading:表示单/多线程编译,一般我们的程序都会用到多线程,所以选择了multi

8.runtime-link:表示动态/静态链接C/C++运行时库(C/C++ Runtime),我们选择了动态链接

9.without/with:表示不需要编译/需要编译哪些库,一些自己不用的库可以无需编译

10.stage/install:stage表示只生成库文件(DLL和Lib),install还会生成包含头文件的include目录,推荐使用stage,因为boost_1_49\boost中就是boost库完整的头文件,所以无需再拷贝一份出来。编译出来的库会放在stage文件夹中


程序正确运行:



作者: http://blog.csdn.net/lp310018931

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 以下是在Windows系统下安装Boost的步骤: 1. 首先,从Boost官网(https://www.boost.org/)下载最新的源代码。选择一个压缩包,然后解压到本地目录。 2. 打开命令提示符(cmd),进入Boost源代码的根目录。 3. 在命令提示符中输入以下命令: ``` bootstrap.bat ``` 这个命令会生成一个名为b2的编译器,用于编译Boost。 4. 接着,输入以下命令: ``` b2 install --prefix=<Boost安装路径> ``` 其中,<Boost安装路径>是你希望安装Boost的目录。这个命令会将Boost编译并安装到指定的路径下。 5. 最后,在你的C++项目中使用Boost。假设你希望使用Boost的文件系统,可以添加以下头文件: ``` #include <boost/filesystem.hpp> ``` 然后,编译你的项目时链接Boost,例如: ``` g++ -o myprogram myprogram.cpp -lboost_system -lboost_filesystem ``` 这个命令会链接Boost的system和filesystem,使得你的程序可以使用这些提供的功能。 希望这些步骤能够帮助你在Windows系统下安装和使用Boost。 ### 回答2: 要在Windows上安装Boost,可以按照以下步骤进行操作: 1.首先,从Boost官方网站(https://www.boost.org/)上下载Boost的最新版本。确保选择适合你操作系统和编译器的版本。 2.解压下载的Boost文件到你想要安装的目录。例如,你可以将它解压到C:\boost\文件夹中。 3.打开命令提示符,并切换到你解压Boost文件的目录。你可以使用cd命令进行切换目录。 4.在命令提示符中,输入bootstrap.bat并运行它。这将在你的系统上创建一个名为b2的构建工具。 5.接下来,输入b2 install命令,并运行它。这将开始构建和安装Boost的各个模块。这可能需要一段时间,取决于你的系统配置和网络速度。 6.安装完成后,你可以在C:\boost\文件夹中找到Boost的所有文件和模块。你可以根据需要将其链接到你的项目中。 注意:在完成Boost的安装之前,确保你的系统上安装了与你编译器兼容的版本。如果使用Visual Studio编译器,你需要首先安装Visual Studio,并且在安装Boost之前配置好编译器和构建工具。 这些是在Windows上安装Boost基本步骤。具体的安装和配置过程可能因个人需求和系统配置而有所不同。如果遇到任何问题,可参考Boost官方文档或寻求相关支持。 ### 回答3: 在Windows上安装Boost的步骤如下: 1. 首先,进入Boost官方网站(https://www.boost.org/)下载最新版本的BoostBoost是一个开源的C++,提供了很多有用的功能和工具。 2. 解压下载的Boost文件到合适的目录。可以选择将解压后的文件放在任意目录中,比如C盘的根目录下或者任意其他文件夹中。 3. 打开命令提示符(CMD)窗口。在开始菜单中搜索"cmd",然后点击“命令提示符”即可打开命令行界面。 4. 切换到Boost所在的目录。在命令提示符中使用"cd"命令加上Boost所在的目录,比如输入"cd C:\boost_1_76_0"进入该目录。 5. 运行Boost的引导程序。在命令提示符中输入"bootstrap.bat"命令,然后按Enter键运行该命令。这将会生成编译工具和配置文件。 6. 运行Boost的构建程序。在命令提示符中输入"b2"命令,然后按Enter键运行该命令。这将会开始编译和构建Boost。 7. 等待编译和构建过程完成。这个过程可能需要一些时间,具体时间取决于计算机的配置和Boost的大小。 8. 安装Boost。在命令提示符中输入"b2 install"命令,然后按Enter键运行该命令。这将会把Boost安装到系统目录中,默认情况下是C盘的根目录下。 9. 设置Boost的环境变量(可选)。如果希望在其他项目中使用Boost,可以将Boost的路径添加到系统的环境变量中。具体步骤是,在开始菜单中搜索"环境变量",然后点击“编辑系统的环境变量”,在弹出的窗口中添加Boost的路径。 综上所述,以上就是在Windows上安装Boost的步骤。可以根据自己的需要和具体情况进行安装和配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值