在主页点击download进入sourceforge页面下载,当前最新版本为boost_1_33_1,有多种文件格式可供下载(包括.exe, .tar.gz等),内容相同,都是boost_1_33_1的全部源代码。下载后解压(假设解压目录为D:\boost\boost_1_33_1)。
boost中的大部分内容都可以直接源代码使用,而thread则需要首先编译出对应的库。
Windows XP平台:
我的机器上安装了vc2003和vc2005,分别在D:\devenv\vs2003和D:\devenv\vs2005目录下
1. 编译jam(JAM是编译其他库的基础)
启动命令行进入D:\boost\boost_1_33_1\tools\build\jam_src目录
运行build即可
运行结束后,将新出现bin.ntx86目录,我们所需要的bjam.exe就在该目录下。
查看一下build文件的内容,发现其自动检测vc2003(vc7.1)的安装目录,然后调用vc7.1编译出的bjam.exe。(使用了VS71COMNTOOLS宏)
2. 编译thread库
启动命令行进入D:\boost\boost_1_33_1目录
set VC71_ROOT=D:\devenv\vs2003\Vc7 (此时没有自动检测,所以需要人工指定)
tools\build\jam_src\bin.ntx86\bjam.exe --with-thread stage (只编译thread库)
编译完成后,结果在D:\boost\boost_1_33_1\bin\boost\libs\thread\build目录下(包括debug/relase, dll/lib等);另外,由于我们在编译时使用了stage选项,所以所有的结果都将被拷贝到D:\boost\boost_1_33_1\stage\lib目录下。
总结一下,
动态库
libboost_thread-vc71-mt-gd-1_33_1.lib + boost_thread-vc71-mt-gd-1_33_1.dll (debug) 42.4k + 88.0k
libboost_thread-vc71-mt-1_33_1.lib + boost_thread-vc71-mt-1_33_1.dll (release) 42.0k + 44.0k
静态库
libboost_thread-vc71-mt-gd-1_33_1.lib (debug) 2.61M
libboost_thread-vc71-mt-1_33_1.lib (release) 782k
静态库(runtime-link-static)
libboost_thread-vc71-mt-sgd-1_33_1.lib (debug) 2.19M
libboost_thread-vc71-mt-s-1_33_1.lib (release) 692k
s Static link to runtime.
g Debug runtime.
d Debug enabled code.
3. 准备使用thread库
选用编译得到的thread动态库。
将boost_thread-vc71-mt-gd-1_33_1.lib重命名为libboost_thread-vc71-mt-gd-1_33_1.lib(前面加了lib)
将boost_thread-vc71-mt-1_33_1.lib重命名为libboost_thread-vc71-mt-1_33_1.lib(前面加了lib)
将这两个文件拷贝到D:\devenv\vs2003\Vc7\PlatformSDK\Lib
将boost_thread-vc71-mt-gd-1_33_1.dll拷贝到windows的system32目录下
将boost_thread-vc71-mt-1_33_1.dll拷贝到windows的system32目录下
以上将thread的debug/release版本的共享库拷贝到系统目录下,接下去就可以使用了。
4. 使用thread库
在vc2003中创建一个空的Win32 Console Project,代码:
#include <boost/thread/thread.hpp>
#include <iostream>
void hello()
{
std::cout << "Hello world, I'm a thread!" << std::endl;
}
main()
{
boost::thread thrd(&hello);
thrd.join();
}
设置Project属性的Code Geneartion------Runtime Library 为 /MDd 或者 /MD
设置Project属性的General-------Additional Include Directories为 D:\boost\boost_1_33_1
编译运行即可。
相关推荐
Boost库是C++编程语言的一个开源库集合,它提供了许多高效、跨平台的工具和库,以增强C++的功能和可扩展性。1.68版本是Boost的一个稳定版本,包含了许多更新和优化,旨在提高性能和兼容性。在Linux环境下,Boost库...
3. **文件系统操作**:Boost.Filesystem库提供了跨平台的文件和目录操作接口。 4. **正则表达式**:Boost.Regex库实现了强大的正则表达式匹配和处理。 5. **日期和时间**:Boost.Date_Time库提供了处理日期和时间的...
Boost库本身是一个开源集合,包含了各种各样的高质量、跨平台的C++库,其中线程库(Boost.Thread)是提升C++多线程编程能力的重要组件。这个压缩包文件"boost_1_85_0"包含了Boost库的一个特定版本,即1.85.0版,这...
Boost库是C++标准库的重要补充,其中包含了大量的高效、跨平台的组件,能够帮助程序员解决实际问题,尤其是在多线程、网络编程、元编程和泛型编程领域。 在多线程编程方面,Boost库提供了线程(Boost.Thread)库,...
Boost库是C++编程语言中的一个开源库集合,它提供了大量的高效、跨平台的库,旨在提升C++的标准库功能并扩展其应用范围。Boost库由C++社区开发和维护,其中包含了各种实用的工具,如智能指针、线程管理、算法、容器...
1. **多线程支持**:Boost.Thread库提供了线程管理和同步原语,如互斥量、条件变量和future/promise等,使得在ARM平台上进行多核优化变得更加便捷。 2. **智能指针**:Boost智能指针(例如shared_ptr、unique_ptr)...
Boost.Filesystem库提供了对文件系统操作的接口,如文件的读写、目录遍历等,简化了跨平台的文件操作。 10. **数学和数值计算**: Boost库还包含了一些用于数值计算和统计分析的库,如`math`和`numeric`,其中`...
1. **Boost概念**:Boost库是由C++社区创建的开源库,旨在推动C++标准的发展,并为程序员提供实用的、跨平台的工具。它包含各种类型的库,如智能指针、多线程支持、算法、容器、日期时间处理等。 2. **Boost智能...
Boost库的一大优势是它的高度跨平台性,能够在多种操作系统和编译器上无缝工作,包括Windows、Linux、Mac OS等。 8. **容器与迭代器增强** `Boost.Fusion`和`Boost.MPL`库提供了增强的容器和迭代器,使得编写更...
为了实现跨平台,开发者通常会使用如Boost.Thread或者C++11/14/17标准库中的std::thread这样的库。这些库在Windows和Linux等操作系统上都提供了兼容的实现。例如,std::thread类在不同平台上都提供了start_thread、...
Boost库是C++社区广泛使用的开源库,它提供了一系列高效、跨平台的工具,用于提升C++编程的效率和灵活性。在本压缩包中,特别强调的是“包含线程池”的部分,这意味着Boost库被配置并编译为支持线程池功能。线程池是...
8. **文件系统库**:Boost.Filesystem提供了一组API,用于处理文件和目录操作,简化了跨平台的文件系统编程。 9. **类型识别和类型转换**:Boost.TypeTraits和Boost.TypeIndex帮助开发者获取类型信息,并进行类型...
Boost是一个跨平台的C++库集合,它提供了众多的开源库,广泛用于实现通用的编程任务,特别是那些对效率和可移植性要求高的任务。Boost库中的内容主要由C++标准委员会库工作组的成员开发,并被广泛地接受为未来C++...
10. **序列化**:Boost.Serialization库允许将对象的状态序列化到文件或内存中,便于存储和恢复,对于持久化数据和跨平台迁移非常有帮助。 11. **类型识别与转换**:Boost.TypeTraits和Boost.TypeIndex可以帮助...
Boost库是C++编程语言中的一个开源库集合,它提供了大量的高效、跨平台的库,以扩展C++的标准库功能。Boost库包含了各种各样的工具,涵盖了算法、数据结构、智能指针、元编程、多线程、I/O流、序列化、数学函数等多...
Boost库是C++社区公认的高质量、跨平台的开源库,它为C++程序员提供了许多实用的工具,包括算法、数据结构、模板元编程、并发和多线程支持等。这本书不仅详尽地解释了Boost库的每个组件,而且深入讨论了如何在实际...
为了解决这一难题,Boost线程库应运而生,它不仅提供了跨平台的多线程解决方案,还充分利用了C++的高级特性,如构造函数、析构函数、函数对象和模板,以实现更安全、更灵活的线程管理。 #### 创建线程:利用Boost::...
Boost库是一个开源的C++库集合,它提供了一系列高质量、跨平台的库,旨在提升C++的标准库功能,包括但不限于模板元编程、泛型编程、并行计算、数学算法、字符串处理、容器扩展等多个领域。Boost库是C++社区的重要...
7. **文件系统操作**:Boost.Filesystem库提供了一个跨平台的接口来操作文件和目录,简化了文件系统相关的编程工作。 8. **正则表达式**:Boost.Regex库提供了高性能的正则表达式支持,它的功能强大且易于使用。 9...