如何在WINDOWS下编译BOOST C++库 .

简介: 如何在WINDOWS下编译BOOST C++库 cheungmine 2008-6-25   写出来,怕自己以后忘记了,也为初学者参考。使用VC8.0和boost1.35.0。   1)下载boost http://www.boost.org/users/download/ 这是它的下载页面,需要下载2个东西: Packaged Releases VERSION 1.35.0 和 Boost Jam 3.1.16   你需要在每个条目下面找到Details | Download字样,点击Download,进入下载页。
如何在WINDOWS下编译BOOST C++
cheungmine
2008-6-25
 
写出来,怕自己以后忘记了,也为初学者参考。使用VC8.0和boost1.35.0。
 
1)下载boost
这是它的下载页面,需要下载2个东西:
Packaged Releases
VERSION 1.35.0
Boost Jam 3.1.16
 
你需要在每个条目下面找到Details | Download字样,点击Download,进入下载页。可是遗憾的是sourceforge站点被封了,所以通常你是无法下载的。(我诅咒封这个站点的人)。因此有必要使用某些特殊的工具来穿透这个封锁。我下载的是这个:
boost_1_35_0.tar.gz
boost-jam-3.1.16.zip
 
2)下载Python2.5.2
在这个页面点击Python2.5.2 Windows Installer
得到一个Python2.5.2.msi后,即可点击安装。我安装在C:/OpenSource/Python25
创建一个批处理文件:pt.bat,内容如下:
set path=C:/OpenSource/Python25
Python
 
然后启用命令行工具(运行cmd.exe),进入pt.bat所在目录,键入pt.bat
如果你看到>>>的提示符号,说明python安装成功。
 
3)编译boost-jam
解压boost_1_35_0.tar.gz,到目录boost_1_35_0。我的是在C:/OpenSource/ boost_1_35_0。这样你在C:/OpenSource/ boost_1_35_0/下就能发现boost-build.jam这个文件。
 
解压boost-jam-3.1.16.zip,然后在目录下双击build.bat,即进行编译。编译结束,可以发现生成了bin.ntx86/bjam.exe。
我们要的就是这个bjam.exe,把它复制到boost_1_35_0目录下,在这个目录下有boost-build.jam文件。
 
4)完全编译boost_1_35_0
编译全部库。虽然你可以只编译一部分,但是还是全部编译,省的以后麻烦。为此你需要编写一个批处理文件,我命名它为boost.bat:
SET MSVC_ROOT="F:/Microsoft Visual Studio 8/VC"
SET VISUALC="F:/Microsoft Visual Studio 8/VC"
SET JAM_TOOLSET=VISUALC
SET PYTHON_ROOT=C:/OpenSource/Python25
SET PYTHON_VERSION=2.5.2
SET PATH=C:/OpenSource/boost_1_35_0
 
你要保证你的路径是正确设置的。然后把这个文件保存到C:/OpenSource下面。(其实位置不重要)。然后启用命令行工具(cmd)。类似地输入下面的命令(<Enter>表示回车):
C:/OpenSource>boost.bat<Enter>
C:/OpenSource>cd boost_1_35_0<Enter>
C:/OpenSource/boost_1_35_0>bjam -sBOOST_ROOT=. -sTOOLS=msvc<Enter>
 
然后你就等待吧。一大堆的警告是不要管的。估计等1小时不到的时间,就完全编译好了。你可以发现在C盘出现了:
C:/Boost
它下面有Include和Lib目录。你可以使用这个C:/Boost,使用它的静态或动态库。也可以使用C:/OpenSource/boost_1_35_0下的源代码。
 
5)结束也是开始BOOST之旅
好了,开始你的boost之旅吧。我用它的graph库实现了最短路径,整个上海的路网,4万多条路段,任意2点查询最短路径,不超过3秒就OK。内存消耗在30M左右。从此我喜欢上了boost。
最新的BOOST提供了C++和Python的接口,这也是我要用它的理由。一个简单的比喻,C++好比COM,Python好比JavaScript,如果你认为JavaScript调用COM可以产生强大的威力,是原子弹的话,那么Python调用C++则是氢弹。关于Boost.Python的知识,参考:
当然,我还是觉得上述过程太复杂,在Windows上使用Boost,你可以完全忽略上面的过程,到下面这个链接里直接取得一个下载软件,它会给你下载你要的包:
目录
相关文章
|
15天前
|
开发框架 Linux C语言
C、C++、boost、Qt在嵌入式系统开发中的使用
C、C++、boost、Qt在嵌入式系统开发中的使用
29 1
|
23天前
|
安全 编译器 C++
【C++20概念】编译时多态性的力量
【C++20概念】编译时多态性的力量
46 0
|
15天前
|
人工智能 机器人 编译器
【C++】Windows端VS code中运行CMake工程(手把手教学)
【C++】Windows端VS code中运行CMake工程(手把手教学)
|
10天前
|
人工智能 机器人 C++
【C++/Python】Windows用Swig实现C++调用Python(史上最简单详细,80岁看了都会操作)
【C++/Python】Windows用Swig实现C++调用Python(史上最简单详细,80岁看了都会操作)
|
22天前
|
算法 编译器 程序员
深入理解C++编译模式:了解Debug和Release的区别
深入理解C++编译模式:了解Debug和Release的区别
59 2
|
23天前
|
算法 编译器 C++
【C++ 泛型编程 中级篇】C++ 编译时技术:探索 if constexpr 和 std::enable_if
【C++ 泛型编程 中级篇】C++ 编译时技术:探索 if constexpr 和 std::enable_if
36 0
|
23天前
|
安全 算法 编译器
【C++ 静态断言的技巧】掌握C++中static_assert的力量:深入探讨编译时检查
【C++ 静态断言的技巧】掌握C++中static_assert的力量:深入探讨编译时检查
40 1
|
23天前
|
存储 算法 编译器
【C++ 关键字 static_assert 相关问题】C++ 关于静态断言的编译问题 ,深入了解静态断言
【C++ 关键字 static_assert 相关问题】C++ 关于静态断言的编译问题 ,深入了解静态断言
28 0
|
26天前
|
编解码 算法 程序员
【C++ 泛型编程 高级篇】 C++ 14 模版元编程 遍历元组 编译期生成整数序列 std::index_sequence和std::make_index_sequence 使用指南(三)
【C++ 泛型编程 高级篇】 C++ 14 模版元编程 遍历元组 编译期生成整数序列 std::index_sequence和std::make_index_sequence 使用指南
26 0
|
26天前
|
C++ 索引
【C++ 泛型编程 高级篇】 C++ 14 模版元编程 遍历元组 编译期生成整数序列 std::index_sequence和std::make_index_sequence 使用指南(二)
【C++ 泛型编程 高级篇】 C++ 14 模版元编程 遍历元组 编译期生成整数序列 std::index_sequence和std::make_index_sequence 使用指南
26 0

热门文章

最新文章